Biến trong các ngôn ngữ lập trình là một vùng nhớ tạm thời được sử dụng để lưu trữ dữ liệu. Biến được đặt tên để dễ dàng truy cập và sử dụng. Mỗi biến có một kiểu dữ liệu xác định loại dữ liệu mà nó có thể lưu trữ. Đây là một trong các yếu tố rất quan trọng của các ngôn ngữ lâp trình, biến được dùng ở mọi class, mọi hàm, công đoạn xử lý input, lưu trữ,… Hãy cùng Vietnix tìm hiểu thêm về biến số trong PHP qua bài viết sau đây.
Biến (variable) trong PHP là gì?
Trong chương trình PHP, biến được dùng để chứa các giá trị, dữ liệu mà có thể sử dụng sau đó. Biến có thể xem như thùng chứa hàng, lưu trữ nhiều loại dữ liệu khác nhau như giá trị dạng ký tự, giá trị dạng số, địa chỉ nhớ, chuỗi,… PHP có cách riêng của mình để xác định và lưu trữ các biến này.
Mọi người cũng xem:
Các quy định về biến số trong PHP
Có một vài quy định cần được tuân thủ và ghi nhớ khi xử lý các biến trong PHP:
- Mọi biến tồn tại trong PHP bắt buộc phải bắt đầu với dấu
$
, theo sau là tên của biến. Tên biến có thể dài ($giatribandau
,$so_le
) hoặc có thể ngắn ($a
,$b
). - Tên biến được cấu thành bởi ký tự chữ cái (a-z, A-Z), số (0-9) và dấu gạch “_”, nhưng một tên biến không được phép bắt đầu bằng ký tự số.
- PHP cũng hỗ trợ hằng số, là các giá trị không thể thay đổi sau khi được định nghĩa. Hằng số được định nghĩa bằng hàm
define()
và thường được viết hoa toàn bộ để phân biệt với biến. - Gán biến sẽ thực hiện với toán tử “=”, tên biến ở bên trái dấu “=” trong khi giá trị hay biểu thức sẽ là bên phải.
- Biến trong PHP có phân biệt chữ hoa và chữ thường, như biến
$sum
sẽ khác hoàn toàn với$SUM
.
Các kiểu dữ liệu để xác định cấu trúc biến số trong PHP
- Integer: số nguyên
- Doubles: số thực
- NULL: không giá trị
- Strings: chuỗi
- Booleans: giá trị True/False
- Arrays: mảng
- Objects: đối tượng
- Resources: nguồn
Ví dụ:
<?php
// These are all valid declarations
$val = 5;
$val2 = 2;
$x_Y = "VPS";
$_X = "Vietnix";
// This is an invalid declaration as it
// begins with a number
$10_ val = 56;
// This is also invalid as it contains
// special character other than _
$f.d = "num";
?>
Phạm vi của biến số trong PHP
Được xác định nghĩa là phạm vi mà trong chương trình già trị của biến có thể được truy cập.
Tùy theo phạm vi biến, PHP xếp 3 loại phạm vi:
- Local variables (biến cục bộ): Loại biến này chỉ có thể dùng trong phạm vi nhỏ, thường là các hàm, các lệnh hay hàm khác từ bên ngoài sẽ không nhìn thấy và truy cập được giá trị biến cục bộ. Ngoài ra, sẽ có các biến cùng tên nhưng bên ngoài hàm chỉ định sẽ xem là một biến khác hoàn toàn.
Ví dụ:
<?php
$num = 60;
function local_var()
{
// This $num is local to this function
// the variable $num outside this function
// is a completely different variable
$num = 50;
echo "local num = $num \n";
}
local_var();
// $num outside function local_var() is a
// completely different Variable than that of
// inside local_var()
echo "Variable num outside local_var() is $num \n";
?>
Output như sau:
local num = 50 Variable num outside local_var() is 60
Như bạn đã thấy, mặc dù cùng tên biến là $num nhưng lại là 2 loại biến riêng biệt, do đó, việc gán giá trị cũng như xử lý lệnh đều bình thường.
- Global variables (biến chung): đây là loại biến được khai báo bên ngoài các hàm. Giá trị của chúng có thể được truy cập trực tiếp ở ngoài hàm. Để có thể truy cập trong hàm, bạn cần dùng tự khóa “global” nằm trước biến để chỉ định lạo biến này.
Ví dụ:
<?php
$num = 20;
// function to demonstrate use of global variable
function global_var()
{
// we have to use global keyword before
// the variable $num to access within
// the function
global $num;
echo "Variable num inside function : $num \n";
}
global_var();
echo "Variable num outside function : $num \n";
?>
Output như sau:
Variable num inside function : 20 Variable num outside function : 20
- Static variable (biến tĩnh): Đặc điểm của PHP là sẽ xóa biến, sau khi nó hoàn thành việc thực thi và bộ nhớ được giải phóng. Nhưng đôi khi bạn cũng cần giữ lại các biến dù chúng đã hoàn tất thực thi. Vì thế bạn cần dùng từ khóa static và các biến sau đó gọi là biến tĩnh.
Ví dụ:
<?php
// function to demonstrate static variables
function static_var()
{
// static variable
static $num = 5;
$sum = 2;
$sum++;
$num++;
echo $num, "\n";
echo $sum, "\n";
}
// first function call
static_var();
// second function call
static_var();
?>
Output như sau:
6 3 7 3
- Variable Variables (biến lồng biến): PHP cho phép người dùng sử dụng tên biến động, còn gọi là biến lồng trong biến. Đây đơn giản chỉ là các biến có cái tên tạo ra từ giá trị của biến khác.
Ví dụ:
<?php
$a = 'hello'; //hello is value of variable $a
$$a = 'World'; //$($a) is equals to $(hello)
echo $hello; //$hello is World i.e. $hello is new variable with value 'World'
?>
Output như sau:
World
Như bạn có thể thấy, $a đã được gán giá trị và tiếp tục dùng làm tên cho biến $$a và gán giá trị vào đó. Cả 2 biến này đều không liên quan nhau trừ việc sử dụng tên của nhau, nếu bạn có áp dụng vào các lệnh, hàm khác cũng không xảy ra xung đột.
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về biến số trong PHP và các tính chất của biến. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!