Một biến trong PHP là tên của vị trí bộ nhớ chứa dữ liệu. Biến là bộ nhớ tạm thời được sử dụng để lưu trữ dữ liệu tạm thời.
Trong PHP, một biến được khai báo sử dụng ký hiệu $ theo sau là tên biến.
Cú pháp khai báo một biến trong PHP được đưa ra dưới đây:
$ten_bien = gia_tri;
Quy tắc đặt tên biến trong PHP
- Biến bắt đầu bằng ký hiệu $, theo sau là tên của biến.
- Các biến PHP phải bắt đầu bằng chữ cái hoặc dấu gạch dưới.
- Biến PHP không thể bắt đầu bằng số và ký tự đặc biệt.
- Tên biến chỉ có thể chứa ký tự chữ và số và dấu gạch dưới (Az, 0-9 và _).
- Tên biến phân biệt chữ hoa chữ thường ($age và $AGE là hai biến khác nhau).
Ví dụ 1: file bien-hop-le.php
<?php $a = "hello"; //bắt đầu bằng chữ cái (hợp lệ) $_b = "hello"; //bắt đầu bằng dấu gạch dưới (hợp lệ) echo "$a <br/> $_b"; ?>
Kết quả:
hello hello
Ví dụ 2: file bien-khong-hop-le.php
<?php $4c = "hello"; //bắt đầu bằng chữ số (không hợp lệ) $*d = "hello"; //bắt đầu bằng ký tự đặc biệt (không hợp lệ) echo "$4c <br/> $*d"; ?>
Kết quả:
Parse error: syntax error, unexpected '4' (T_LNUMBER), expecting variable (T_VARIABLE) or '{' or '$' in C:\xampp\htdocs\php\bien-khong-hop-le.php on line 2
Biến trong PHP: Khai báo biến String, integer và float
Hãy xem ví dụ để lưu trữ chuỗi, số nguyên và số thực trong các biến PHP.
File: variable1.php
<?php $str = "hello string"; $x = 200; $y = 44.6; echo "string is: $str <br/>"; echo "integer is: $x <br/>"; echo "float is: $y <br/>"; ?>
Kết quả:
string is: hello string integer is: 200 float is: 44.6
Biến trong PHP: Tính tổng của 2 biến
File: variable2.php
<?php $x = 5; $y = 6; $z = $x + $y; echo $z; ?>
Kết quả:
11
Biến trong PHP: Chữ hoa, chữ thường
Trong PHP, các tên biến phân biệt chữ hoa chữ thường. Vì vậy, tên biến "studentName" khác với StudentName, studentname, studentNAME, v.v.
File: variable3.php
<?php $studentName = "David Q"; echo "student name 1: " . $studentName."<br>"; echo "student name 2: " . $StudentName."<br>"; echo "student name 3: " . $studentname."<br>"; ?>
Kết quả:
student name 1: David Q Notice: Undefined variable: StudentName in C:\xampp\htdocs\php\echo1.php on line 4 student name 2: Notice: Undefined variable: studentname in C:\xampp\htdocs\php\echo1.php on line 5 student name 3:
PHP là một ngôn ngữ có kiểu dữ liệu lỏng lẻo
Trong ví dụ trên, lưu ý rằng chúng ta đã không phải khai báo kiểu dữ liệu nào cho biến.
PHP tự động chuyển đổi biến thành kiểu dữ liệu chính xác, tùy thuộc vào giá trị của nó.
Trong các ngôn ngữ khác như C, C++ và Java, lập trình viên phải khai báo tên và loại biến trước khi sử dụng nó.
Nội dung chính
Phạm vi của biến trong PHP
Trong PHP, các biến có thể được khai báo ở bất kỳ đâu trong kịch bản lệnh.
Phạm vi của một biến là một phần của kịch bản mà biến có thể được tham chiếu/sử dụng.
PHP có ba phạm vi biến khác nhau:
- địa phương (local).
- toàn cầu (global).
- tĩnh (static).
Phạm vi toàn cầu và địa phương
Một biến được khai báo bên ngoài một hàm có một PHẠM VI TOÀN CẦU và chỉ có thể được truy cập bên ngoài một hàm:
<?php $x = 5; // phạm vi toàn cầu function myTest() { // sử dụng biến $x bên trong hàm này sẽ bị lỗi echo "<p>Biến x bên trong hàm là: $x</p>"; } echo "<p>Biến x bên ngoài hàm là: $x</p>"; myTest(); ?>
Kết quả:
Biến x bên ngoài hàm là: 5 Notice: Undefined variable: x in C:\xampp\htdocs\php\hang-so-magic.php on line 6 Biến x bên trong hàm là:
Một biến được khai báo bên trong một hàm có một PHẠM VI ĐỊA PHƯƠNG và chỉ có thể được truy cập trong hàm đó:
<?php function myTest() { $x = 5; // phạm vi toàn cầu // sử dụng biến $x bên trong hàm này sẽ bị lỗi echo "<p>Biến x bên trong hàm là: $x</p>"; } echo "<p>Biến x bên ngoài hàm là: $x</p>"; myTest(); ?>
Kết quả:
Notice: Undefined variable: x in C:\xampp\htdocs\php\hang-so-magic.php on line 8 Biến x bên ngoài hàm là: Biến x bên trong hàm là: 5
Từ khóa global trong PHP
Từ khóa global được sử dụng để truy cập vào một biến toàn cầu từ bên trong một hàm.
Để làm điều này, hãy sử dụng từ khóa global trước các biến (bên trong hàm):
Ví dụ:
<?php $x = 5; $y = 10; function myTest() { global $x, $y; $y = $x + $y; } myTest(); echo $y; // kết quả là 15 ?>
Kết quả:
15
PHP cũng lưu trữ tất cả các biến toàn cầu trong một mảng gọi là $GLOBALS [index]. Các chỉ số index giữ tên của biến. Mảng này cũng có thể truy cập từ bên trong các hàm và có thể được sử dụng để cập nhật các biến toàn cầu trực tiếp.
Ví dụ trên có thể được viết lại như sau:
<?php $x = 5; $y = 10; function myTest() { $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y']; } myTest(); echo $y; // kết quả là 15 ?>
Kết quả:
15
Từ khóa static trong PHP
Thông thường, khi một hàm được thực thi hoàn thành, tất cả các biến của nó sẽ bị xóa. Tuy nhiên, đôi khi chúng ta muốn một biến địa phương KHÔNG bị xóa. Chúng ta cần sử dụng nó cho một công việc khác.
Để thực hiện việc này, hãy sử dụng từ khóa static khi bạn khai báo biến:
Ví dụ:
<?php function myTest() { static $x = 0; echo $x . "<br>"; $x++; } myTest(); myTest(); myTest(); ?>
Kết quả:
0 1 2
Sau đó, mỗi lần hàm được gọi, biến đó sẽ vẫn có thông tin từ lần cuối hàm được gọi. Biến static vẫn là biến địa phương của hàm.
Xem thêm ví dụ tại bài đệ quy trong PHP