[PHP&MySQL] Bài 3: Các kiểu biến trong PHP

Trong bất kỳ ngôn ngữ lập trình nào, biến đều được sử dụng để lưu trữ thông tin trong quá trình xử lý và tính toán. Trong ngôn ngữ lập trình PHP, biến cũng được sử dụng cho các mục đích nói trên.

Dưới đây là các điều cần chú ý 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.

Các kiểu dữ liệu trong PHP mà biến có thể nhận được:

  • 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).

Các kiểu dữ liệu cụ thể trong PHP:

1. Kiểu số nguyên (integer)

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:

<?php
    $a = 1234;
    $b = -100;
?>

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.

2. Kiểu số thực (double)

Là các số kiểu chữ số thập phân. Theo mặc định kiểu double sẽ in số vị trí thập phân nhỏ nhất. Ví dụ:

<?php
   $a = 2.2888800;
   $b = 2.2111200;
   $c = $a + $b;
   echo "Kết quả của $a + $b = $c";
   // echo 'Kết quả của '.$a.'+'.$b.'='.$c;
?>

Chú ý: Đối với lệnh xuất ra màn hình (echo hoặc print), chúng ta có thể đặt dữ liệu vào trong cặp dấu ngoặc kép ” ” hoặc cặp dấu nháy đơn ‘ ‘

Tuy nhiên, mình khuyên các bạn nên sử dụng cặp dấu ngoặc kép bởi nó có nhiều ưu thế trong việc xử lý chuỗi khi xuất ra màn hình. Trong trường hợp này, các biến có thể gọi trực tiếp như ở dòng lệnh thứ 5 (tức là $a, $b, $c)

Trong trường hợp sử dụng dấu nháy đơn, ta phải sử dụng phép ghép chuỗi (dấu chấm .) như dòng lệnh thứ 6.

3. Kiểu logic (boolean)

Với kiểu dữ liệu này, biến chỉ có 1 trong 2 giá trị, hoặc TRUE, hoặc FALSE. Kiểu boolean thường kết hợp với các biểu thức để xử lý các lệnh điều khiển như If … Else …; While, …

Về cách sử dụng biến kiểu boolean mình sẽ có ví dụ cụ thể ở các bài kết hợp với các lệnh điều khiển.

4. Kiểu NULL

Đây là kiểu dữ liệu đặc biệt không chỉ trong PHP mà ở hầu hết các ngôn ngữ lập trình khác.

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:

$a = 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:

$b = 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

5. Kiểu chuỗi (string)

Đây là các dãy ký tự, bao gồm các ký tự là chữ cái, chữ số hoặc các ký tự khác. Dưới đây là các ví dụ về chuỗi trong PHP.

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

<?php
   $bien_1 = "name";
   $bien_2 = '$bien_1 sẽ không được in!';
   print($bien_2);
   print "<br>";
   
   $bien_2 = "$bien_1 sẽ được in!";
   print($bien_2);
?>

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 \

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:

  • Biến cục bộ trong PHP
  • Tham số hàm trong PHP
  • Biến toàn cục trong PHP
  • Biến tĩnh (hay biến static) trong PHP

Đặ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.

Lời kết:

Qua bài học này, các bạn đã phần nào hiểu được biến trong PHP và các kiểu dữ liệu mà nó có thể nhận được, bên cạnh đó là mô tả chi tiết các kiểu dữ liệu trong PHP. Ở bài học tiếp theo, mình sẽ hướng dẫn các bạn về Hằng số trong PHP, các bạn chờ nhé. Chúc các bạn thành công.

Bình luận