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.
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.
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.
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.
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:
<?php
$bien_double_1 = 2.2888800;
$bien_double_2 = 2.2111200;
$ket_qua = $bien_double_1 + $bien_double_2;
print("$bien_double_1 + $bien_double_2 = $ket_qua <br>");
?>
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ả:
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.<br>");
else
print("Dòng văn bản này sẽ không bao giờ được in trên trình duyệt.<br>");
Đâ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.
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 = "";
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:
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:
<?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);
?>
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ả:
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 quy tắc thay thế:
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:
<?php
echo <<<END
Ví dụ cú pháp "Here Document"
trong PHP. Đây là một cú pháp
rất hữu ích.
<br></br>
END;
?>
Bắt đầu với <<<END 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:
<?php
$x = "Ví dụ minh họa cách trích dẫn \"dấu nháy\" trong PHP!";
print $x;
?>
Với Heredoc, bạn không cần sử dụng dấu gạch chéo \
<?php
$x = <<<EOF
Ví dụ minh họa cách trích dẫn "dấu nháy" trong PHP!
EOF;
print $x;
?>
Cả hai ví dụ đều cho kết quả:
Dưới đây là các qui tắc khi đặt tên một biến trong PHP:
Không có giới hạn kích cỡ cho các 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:
a. Biến cục bộ trong PHP
Một biến được khai báo trong một hàm được xem như là cục bộ; nghĩa là, nó có thể được tham chiếu chỉ bởi hàm đó. Bất kỳ phép gán nào bên ngoài hàm này sẽ được xem như là một biến hoàn toàn khác với biến được chứa trong hàm đó.
<?php
$x = 10;
function assignx () {
$x = 0;
print "Giá trị biến $x bên trong hàm là $x. <br />";
}
assignx();
print "Giá trị biến $x bên ngoài hàm là $x. <br />";
?>
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ả:
b. Tham số hàm trong PHP
Ghi chú − Hàm trong PHP được trình bày chi tiết trong chương Hàm trong PHP
Nói ngắn gọn, một hàm là một đơn vị nhỏ của chương trình mà có thể nhận một số input trong form là các tham số và thực hiện các tiến trình xử lý và có thể trả về một số giá trị.
Tham số hàm được khai báo ở sau tên hàm và bên trong dấu ngoặc đơn. Chúng được khai báo khá giống một kiểu biến điển hình, như sau:
<?php
// Nhân giá trị với 11 và trả về kết quả cho lời gọi hàm
function hamNhan ($value) {
$value = $value * 11;
return $value;
}
$ketqua = hamNhan (11);
Print "Giá trị trả về $ketqua\n";
?>
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ả:
c. Biến toàn cục trong PHP
Trái ngược với biến cục bộ, một biến toàn cục có thể được truy cập trong bất kỳ phần chương trình nào. Tuy nhiên, để được chỉnh sửa, một biến toàn cục phải được khai báo một cách tường minh là GLOBAL trong hàm mà nó chuẩn bị được sửa đổi. Điều này được thực hiện bằng việc đặt từ khóa GLOBAL ở trước biến mà nên được xác định là toàn cục. Việc đặt từ khóa này ở trước biến đang tồn tại nói cho PHP sử dụng biến có tên như thế. Bạn theo dõi ví dụ:
<?php
$bien_toan_cuc = 66;
function hamDemo() {
GLOBAL $bien_toan_cuc;
$bien_toan_cuc++;
print "Giá trị biến toàn cục là $bien_toan_cuc";
}
hamDemo();
?>
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ả:
d. Biến tĩnh (hay biến static) trong PHP
Kiểu biến cuối cùng đã được đề cập trong phạm vi là biến tĩnh. Ngược với các biến được khai báo như là các tham số hàm, mà bị hủy khi thoát khỏi hàm, một biến tĩnh sẽ không mất giá trị của nó khi hàm thoát ra và sẽ vẫn giữ giá trị đó nếu hàm đó được gọi lại lần nữa.
Bạn có thể khai báo một biến là biến tĩnh bằng việc đặt từ khóa STATIC ở trước tên biến.
<?php
function ham_demo() {
STATIC $count = 3.14;
$count++;
print $count;
print "<br />";
}
ham_demo();
ham_demo();
ham_demo();
?>
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ả:
Unpublished comment
Viết câu trả lời