PHP – BIẾN

 



Bài viết này sẽ mô tả các khái miện và cách sử dụng biến(variable) trong ngôn ngữ lập trình web PHP.








BIẾN LÀ GÌ?

Biến(variables) là “thùng chứa” để lưu trữ thông tin.
<?php
    $x = 9;
    $y = 7;
    $z = $x + $y;
    echo $z;
?>

Nó giống như là đại số:
x = 7
y = 9
z = x + y

Trong đó “x” được gọi là biến dùng để chứa giá trị là “7”.

Từ biểu thức “z = x + y” trên tạ sử dụng được biến x và y để tính được giá trị của biến z là “16”


BIẾN ĐƯỢC DÙNG ĐỂ?

Như trong bài đại số trên, biến PHP được dùng để lưu trữ các giá trị (x = 5) hoặc được tái sử dụng trong biểu thức (z = x + y).

Tên biến có thể là nhưng chữ cái (giống x và y) hoặc có thể là một chuỗi các chữ cái cộng số(ho, ten, ho_01, te_01).

CÁC QUY TẮC VỀ BIẾN:

Biến phải bắt đầu bằng ký tự $, theo sau là tên của biến.

Tên của biến phải bất đầu bằng 1 chữ cái hoặc ký tự gạch dưới ($ho, $_ho).

Tên của biến không thể bắt đầu bằng 1 chữ số ($9hoten → là sai).

Tên của biến chỉ có thể chứ các ký tự chữ, số và dấu gạch dưới (a-z, A-Z, 0-9 và _).

Tên biến đều thuộc trường hợp phân biệt ký tự hoa thường ($ho và $HO là 2 biến khác nhau).


KHAI BÁO BIẾN:

PHP thì không có câu lệnh(command) để khai báo(declaring) biến.

Một biến được tạo khi bạn gắn giá trị đầu tiên cho nó:
<!DOCTYPE html>
<html>
<body>

<?php
    $txt="VN-Lives";
    $x=5;
    $y=10.5;

    echo $txt;
    echo "<br>";
    echo $x;
    echo "<br>";
    echo $y;
?>
</body>
</html>

Sau khi trang web được thực thi thì biến(variable) txt sẽ chứa giá trị là “VN-Lives”, biến x sẽ chứa giá trị là “5”, và y se4 chứa giá trị là “10.5”.

Bạn lưu ý khi gắn giá trị là dạng văn bản cho một biến, thì phải đặt dấu ngoặc kép ở xung quanh giá trị ($txt = “VN-Lives”).

PHP LÀ MỘT KIỂU NGÔN NGỮ KHÔNG CHẶT CHẼ.

Như trong ví dụ trên bạn thấy PHP không cần phải khai báo kiểu dữ liệu cho một biến.

PHP sẽ tự động chuyển đổi biến thành kiểu dữ liệu đúng, điều này phụ vào giá trị của nó.

Nói đơn giản thì PHP chỉ có 2 dạng kiểu dữ liệu là văn bản(text) và số(number), kiểu số thì chỉ cần gán giá trị trực tiếp vào biến, kiểu văn bản thì phải thêm dấu ngoặc kép vào xung quanh giá trị.

Trong các ngôn ngữ lập trình khác như  Java, C, C++, C# thì lập trình viên buộc phải khai báo tên và kiểu dữ liệu của biến trước khi sử dụng nó.


PHẠM VI CỦA BIẾN:

Trong PHP, các biến có thể được khởi tạo hoặc khai báo ở bất kỳ vị trí nào trong kịch bản(script).

Phạm vi(scopes) của một biến là một phần của kịch bản(script) mà biến có thể được tham chiếu hoặc sử dụng.

Trong PHP có 3 phạm vi biến(variable scopes) sau:
  • Local – Biến cục bộ.
  • Global – Biến toàn cục.
  • Static – Biến tĩnh.


LOCAL – BIẾN CỤC BỘ:

Biến cục bộ(local) là biến được khai báo trong hàm, và phạm vị hoạt động, sử dụng nó chỉ nằm trong phạm vi của hàm.
<?php
function  gan_loichao()
{
    $loi_chao = “XIN CHÀO CÁC BẠN.” // Biến cục bộ.
}
Echo $loi_chao; //Sẽ in ra dòng trống vì biến $loi_chao chỉ được sử dụng trong hàm gan_loichao().

Để có thể sử dụng biến cục bộ(local) $loi_chao bạn phải khai báo như sau:
<?php
function  gan_loichao()
{
    $loi_chao = “XIN CHÀO CÁC BẠN.” // Biến cục bộ.
    echo $loi_chao;
}


GLOBAL – BIẾN TOÀN CỤC.

Biến toàn cục(global) là được sử dụng tại bất kỳ mọi nơi trong kịch bản(script).
<?php
$loi_chao;
?>

Biến toàn cục(global) được khai báo nằm ngoài bên ngoài tất các hàm trong kịch bản(script).

Nhưng để sử dụng biến toàn cục(global) trong các hàm thì phải khai báo từ khóa theo 1 trong 2 cách sau:
  • global $ tên_biến;
  • $_GLOBAL[‘tên_biến’];
<?php
$loi_chao: //Biến toàn cục.
fuction gan_loichao() {
    global $loi_chao; //Từ khóa để sử dụng biến toàn cục trong hàm.
    $loi_chao = “XIN CHÀO CÁC BẠN.”;
}

gan_lơi_chao();
echo $loi_chao;
?>


STATIC – BIẾN TĨNH.

Biến tĩnh(static) là loại biến sẽ không bị mất đi giá trị khi ra khỏi hàm và giá trị đó vẫn giữ nguyên khi hàm được gọi thêm lần nữa.

<?php
function number() {
    static $x = 0;
    echo $x;
    $x = $x + 1;
}
number();     //Kết quả là 0
number();     //Kết quả là 1
number();    //Kết quả là 2
number();    //Kết quả là 3
?>

Dựa vào kết quả ta thấy giá của biến $x được giữ lại sau  mỗi lần hàm được gọi. Nếu không có từ static bước khi khai báo biến thì kết quả trả về cho các hàm number() được gọi đều trả về cùng kết quả là “0”.











No comments:

Post a Comment