Biến trong PHP



Cách chính để lưu trữ thông tin trong chương trình PHP là sử dụng một biến.

Dưới đây là những điều quan trọng nhất bạn nên biết về biến trong PHP.

  • Tất cả các biến trong PHP đều được kí hiệu với dấu $ ở đầu.

  • Giá trị của một biến là giá trị của phép gán gần đây nhất của nó.

  • Các biến được gán với toán tử =, biến ở bên trái còn biểu thức được ước lượng ở bên phải.

  • Biến có thể, nhưng không cần, được khai báo trước khi gán giá trị.

  • Biến trong PHP không có các kiểu nội tại, tức là một biến không biết trước có hay không nó sẽ được sử dụng để lưu trữ một số hoặc một chuỗi ký tự.

  • Biến, được sử dụng trước khi chúng được gán, có các giá trị mặc định.

  • PHP làm rất tốt việc chuyển đổi tự động từ kiểu này sang kiểu khác khi cần thiết.

  • Biến trong PHP giống với Perl.

PHP có tổng tất cả 8 kiểu dữ liệu mà chúng ta sử dụng để xây dựng các biến.

  • Integer − số nguyên. Ví dụ 1989

  • Double − số thực. Ví dụ 3.14159 hay 49.1.

  • Boolean − có 2 giá trị TRUE hoặc FALSE.

  • NULL − là một kiểu đặc biệt, nó chỉ có giá trị: NULL

  • String − là chuỗi các kí tự.

  • Array − là tập hợp được đặt tên và lập chỉ mục của các giá trị khác.

  • Object − là instance (sự thể hiện) của các lớp mà lập trình viên tự định nghĩa, nó có thể đóng gói các các loại giá trị và hàm khác nhau, nó dành riêng cho các lớp.

  • Resource − là một biến đặc biệt nó giữ tham chiếu tới các tài nguyên ngoại vi đến PHP (ví dụ: kết nối Database).

5 kiểu đầu tiên là các kiểu biến đơn giản, 2 kiểu tiếp theo (array và object) là các kiểu phức hợp mà có thể đóng gói các giá trị tùy ý của các kiểu tùy ý, trong khi các kiểu đơn giản không làm được.

Trong chương này, chúng ta sẽ giải thích các kiểu biến đơn giản. Array và Object sẽ được giải thích riêng rẽ trong các chương sau.

Kiểu số nguyên trong PHP

Chúng là tất cả các số, bao gồm cả nguyên âm và nguyên dương, nhưng không bao gồm số thực. Nó là kiểu đơn giản nhất. Chúng có thể được gán cho một biến hoặc được sử dụng trong biểu thức như sau:

$bien_int = 12345;
$bien_int_khac = -12345 + 12345;

Kiểu số nguyên có thể trong hệ thập phân, hệ bát phân và hệ thập lục phân. Mặc định là hệ thập phân, hệ bát phân - số nguyên được chỉ định bắt đầu với số 0 và hệ thập lục phân bắt đầu với 0x.

Đối với hầu hết các nền tảng phổ biến, miền giá trị từ –2,147,483,648 tới +2,147,483,647.

Kiểu Double trong PHP

Chúng giống dạng 3.14159 hoặc 49.1. Theo mặc định kiểu double sẽ in số vị trí thập phân nhỏ nhất. Ví dụ, bạn theo dõi code sau:

");
?>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Kiểu double trong PHP

Kiểu Boolean trong PHP

Chúng chỉ có hai giá trị là: true hoặc false. PHP cung cấp một cặp hằng số để sử dụng như là các kiểu Boolean: TRUE và FALSE, có thể được sử dụng giống như:

if (TRUE)
   print("Dòng văn bản này luôn luôn được in trên trình duyệt.
");else print("Dòng văn bản này sẽ không bao giờ được in trên trình duyệt.
");

Thông dịch các kiểu dữ liệu khác thành kiểu Boolean

Đây là quy tắc để xác định tính đúng đắn của bất kì giá trị nào chưa phải là kiểu Boolean.

  • Nếu giá trị là một số, nó là false nếu nó bằng 0 và true nếu khác 0.

  • Nếu giá trị là một chuỗi, nó false nếu chuỗi là rỗng (không tồn tại kí tự nào) hoặc là chuỗi "0", nếu không là true.

  • Giá trị của kiểu NULL luôn luôn là false.

  • Nếu giá trị là một array, nó false nếu nó không chứa các giá trị khác và nếu không là true. Với một object, chứa một giá trị nghĩa là có một biến thành viên đã được gán một giá trị.

  • Resource hợp lệ là true (mặc dù có một vài hàm trả về các resource khi chúng thành công, và trả về FALSE nếu thất bại).

  • Đừng sử dụng double như là Boolean.

Mỗi biến sau đây có giá trị true được nhúng trong tên của nó khi được sử dụng trong một ngữ cảnh Boolean.

$true_num = 3 + 0.14159;
$true_str = "Vi du mot chuoi"
$true_array[49] = "Mot mang cac phan tu";
$false_array = array();
$false_null = NULL;
$false_num = 999 - 999;
$false_str = "";

Kiểu NULL trong PHP

NULL là một kiểu đặc biệt mà chỉ có một giá trị NULL. Để cung cấp cho biến giá trị NULL, đơn giản bạn gán nó như sau:

$my_var = NULL;

Theo qui ước, hằng đặc biệt NULL là viết hoa, nhưng thực sự nó là không phân biệt kiểu chữ, và bạn cũng có thể viết như sau:

$my_var = null;

Một biến mà đã được gán NULL sẽ có các thuộc tính sau:

  • Nó ước lượng là FALSE trong một ngữ cảnh Boolean.
  • Nó trả về FALSE khi được kiểm tra với hàm IsSet() trong PHP.

Kiểu string trong PHP

Chúng là các dãy ký tự, giống như "Hoc PHP co ban va nang cao tai Vietjack.com". Dưới đây là các ví dụ về chuỗi trong PHP.

$string_1 = "Vi du chuoi trong dau nhay kep";
$string_2 = "Hoc PHP co ban va nang cao tai VietJack.com";
$string_0 = ""; // ví dụ một chuỗi không có ký tự

Bạn xét ví dụ sau để so sánh sự khác nhau khi sử dụng dấu nháy đơn và dấu nháy kép:

";
   
   $bien_2 = "$bien_1 sẽ được in!";
   print($bien_2);
?>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Biến trong PHP

Giải thích: Ta nhận thấy chuỗi thứ nhất không hề thay đổi. Chuỗi thứ 2 biến $variable đã được thay thế bằng name. Như vậy chuỗi sử dụng nháy đơn là một chuỗi tĩnh, còn chuỗi sử dụng nháy kép là một chuỗi động, thay đổi tùy theo giá trị của biến.

Không có giới hạn về độ dài của chuỗi, có thể dài tùy ý nếu bộ nhớ cho phép.

Các chuỗi được giới hạn bởi các dấu nháy kép được PHP xử lý bằng 2 cách sau đây:

  • Các chuỗi kí tự bắt đầu với (\) được thay thế với một kí tự đặc biệt

  • Các biến (bắt đầu với $) được thay thế bằng biểu diễn chuỗi của giá trị của nó.

Các quy tắc thay thế:

  • \n được thay thế bằng ký tự newline (dòng mới)
  • \r được thay thế bởi ký tự carriage-return, được hiểu là đưa con trỏ về đầu dòng nhưng không xuống dòng.
  • \t được thay thế bởi ký tự tab
  • $ được thay thế bằng một dấu $
  • \" được thay thế bằng một dấu nháy kép "
  • \\ được thay thế bằng một dấu nháy đơn \

Cú pháp Here Document (Heredoc) trong PHP

Bạn có thể gán nhiều dòng cho một biến chuỗi đơn bởi sử dụng cú pháp here document như sau:


END;?>

Bắt đầu với << và kết thúc với END;, cú pháp này thực sự rất hữu ích với các chuỗi dài và có thể tránh được nhiều vấn đề về trích dẫn với các dấu nháy ("").

Ví dụ, nếu bạn cần hiển thị dấu nháy trích dẫn kép " thì bạn cần sử dụng dấu gạch chéo \ như sau:


Với Heredoc, bạn không cần sử dụng dấu gạch chéo \


Cả hai ví dụ đều cho kết quả:

here document trong PHP

Phạm vi biến trong PHP

Phạm vi (scope) có thể được định nghĩa như là phạm vi khả dụng của biến được khai báo trong chương trình. Các biến trong PHP có thể là một trong 4 phạm vi sau:

Đặt tên biến trong PHP

Dưới đây là các qui tắc khi đặt tên một biến trong PHP:

  • Tên biến phải bắt đầu với một chữ cái hoặc ký tự dấu gạch dưới (_).

  • Một tên biến có thể gồm các số, chữ cái, ký tự dấu gạch dưới (_), nhưng bạn không thể sử dụng các ký tự như + , - , % , ( , ) . & , .v.v.

Không có giới hạn kích cỡ cho các biến trong PHP.

Các bài học PHP phổ biến khác tại VietJack: