Chuong XVI : Hằng số và biến

Hằng số và biến

 

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:

<?php
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:

<?php
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:

<?php
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:

<?php
$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$_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)

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: