Quên mật khẩu

Đăng ký


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

1Hằng số và biến    Empty Hằng số và biến 9/8/2012, 13:28


Do trong giáo trình của chúng ta còn khuyết mất phần này nên hôm nay xin phép viết 1 chút cho anh em nào còn chưa biết (mấy bác pro rồi nhìn đừng chê em :P)

Định nghĩa 1 hằng số

Các hằng số là những xâu kí tự được gán với 1 giá trị cố định. Các bạn định nghĩa 1 hằng số bằng cấu trúc

PHP Code:

define('name', value);
?>


Khi thực hiện câu lệnh trên, sẽ có 1 hằng là name được tạo ra với giá trị là value. Việc đặt trên cho hằng số cũng giống như tên biến nhưng nó không bắt bắt đầu với kí tự $. Giá trị của hằng số chỉ có thẻ là: số nguyên (integer), số thực (float), xâu kí tự (string) hoặc boolean

PHP Code:

define('NORMAL_USER', 0);
define('ADMIN_USER', -1);
define('GUEST_USER', 1);
define('GUEST_ACCT_NAME', "Guest User");
define('GUEST_CAN_LOGIN', FALSE);
//
// default to guest permissions.
//
$user_name = GUEST_USER_NAME;
$user_can_login = GUEST_CAN_LOGIN;
?>


Sau khi 1 hằng số đã được định nghĩa, nó sẽ không thay đổi giá trị. Khi bạn cố gắng thay đổi giá trị của hằng số sẽ chỉ sinh ra 1 cảnh báo (warning) và không có gì thay đổi. Để xem 1 hằng số đã được định nghĩa hay chưa, sử dụng hàm defined, hàm này sẽ trả lại 1 giá trị boolean

PHP Code:

define('DATABASE_NAME', "UDS");
if (defined('DATABASE_NAME')) {
echo DATABASE_NAME;
}
else {
echo "Nothing!";
}
?>


Trong ví dụ trên, sẽ in ra màn hình xâu UDS là giá trị của hằng số DATABASE_NAME

Tầm hoạt động của biến (Về biến số đọc thêm bài 1)

Xét về tầm hoạt động của biến thì ta có 3 loại:
- Biến cục bộ: Biến bạn khai báo trong 1 hàm thì sẽ chỉ có giá trị bên trong hàm đó
- Biến toàn cục: Các biến bạn khai báo và sử dụng ở bên ngoài tất cả các hàm thì sẽ bị ẩn một cách mặc định trong các hàm. Tuy nhiên vẫn có thể sử dụng các biến toàn cục trong hàm bằng cách sau

PHP Code:

$s = "This is a global variable";

function echoOut() {
// Cách 1
global $s;
echo $s;
// Cách 2
echo $_GLOBALS['s'];
}
?>

Trong ví dụ trên thì màn hình sẽ in 2 lần xâu This is a global variable
- Biến "siêu" toàn cục: Có một vài biến có thể sử dụng ở mọi nơi trong đoạn mã, tuy nhiên hiện giờ coder không thể tự tạo ra các biến "siêu" toàn cục

Các biến đã được định nghĩa trước

PHP cung cấp cho chúng ta khá nhiều biến đưa thông tin về môi trường làm việc. Đa số đều là các mảng "siêu" toàn cục (có thể dùng mọi lúc, mọi nơi như đã nói ở trên)
- $GLOBALS: Mảng này chứa tất cả các biến toàn cục đang tồn tại
- $_SERVER: Mảng này chưa thông tin về ngữ cảnh mà đoạn mã đang chạy, như là tên server, tên file đang chạy, thông tin về kết nối, nhiều nhiều nữa (http://www.php.net/manual/en/reserve...riables.server)
- $_GET & $_POST: 2 mảng này chứa thông tin được gửi đến server qua các form HTML (tương ứng với phương thức GET và POST)
- $_SESSION & $_COOKIE: 2 mảng này chứa các thông tin về phiên làm việc và cookie của client
- $_REQUEST: Chứa thông tin của $_GET, $_POST và $_SESSION
- $_ENV: Chứa các biến môi trường mà engine PHP đang chạy
- $php_errormsg: Chứa thông báo lỗi cuối cùng của PHP, nó chỉ tồn tại trong tầm hoạt động của đoạn mã sinh lỗi và nếu tùy chọn cấu hình TRack_errors được bật trong php.ini (theo mặc định thì không được bật)



Mr.paint(UDS)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết