Bài 2: PHP 5 Variables


Quay trở lại với series học lập trình PHP căn bản. Hôm nay chúng ta sẽ học về biến, các khai báo biến. Chúng ta bay vào code luon nào!

Tạo (Khai báo) biến trong PHP

Ví dụ:

<!DOCTYPE html>
<html>
<body>

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;

echo $txt;
echo "<br>";
echo $x;
echo "<br>";
echo $y;
?>

</body>
</html>

Trong PHP, một biến được bắt đầu bằng dấu đô la ($). Trong ví dụ trên thì biến $txt có giá trị là Hello World!, biến $x có giá trị là 5, biến $y có giá trị là 10.5.
Chú ý: Khi bạn muốn gán một chuỗi cho 1 biến như ví dụ trên thì bạn phải đặt chuỗi đó trong dấu ngoặc kép (“”).
Chú ý: Không giống như các ngôn ngữ khác, PHP không có dòng lệnh khai báo biến. Nó được tạo ra tại thời điểm gán giá trị đầu tiên cho nó.

Các biến trong PHP

Một biến có thể có tên ngắn (giống như x và y) hay một tên gợi nhớ (age, carname, total_volume).
Các luật của biến trong PHP:
1. Một biến phải bắt đầu bằng dấu đô la ($), theo sau nó là tên của biến.
2. Tên biến phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới.
3. Tên biến không được bắt đầu bằng số.
4. Một tên biến hợp lệ thì chỉ được chứa các kí tự sau: A-z, 0-9, dấu gạch dưới.
5. Tên biến phân biệt hoa thường ($age và $AGE là 2 biến khác nhau).

Output Variables

Lệnh echo thường được sử dụng để hiển thị dữ liệu lên màn hình.
Xem ví dụ:

<!DOCTYPE html>
<html>
<body>

<?php $txt = "chiasetailieucongnghe.wordpress.com"; 
echo "I love $txt"; 
?>

</body>
</html>

Ví dụ này cũng tương đương ví dụ trên:

<!DOCTYPE html>
<html>
<body>

<?php $txt = "chiasetailieucongnghe.wordpress.com"; 
echo "I love ". $txt . "!"; 
?>

</body>
</html>

Đây là ví dụ tính tổng 2 biến:

<!DOCTYPE html>
<html>
<body>

<?php 
$x = 5; 
$y = 4; 
echo $x + $y; 
?>

</body>
</html>

Chú ý: Các bạn sẽ được học nhiều hơn về lệnh echo và làm thế nào để xuất dữ liệu ra màn hình trong bài tiếp theo.

PHP là ngôn ngữ linh hoạt hay lõng lẽo?

Trong những ví dụ trên, chúng ta không bảo cho PHP biết là các biến đó thuộc loại gì. Đơn giản vì PHP tự động chuyễn đổi kiểu dữ liệu phù hợp cho biến, phụ thuộc vào giá trị của biến đó.

Trong các ngôn ngữ như C, C++, và Java, lập trình viên phải khai báo tên và loại cho biến trước khi sử dụng.

Đọc tới đây thì theo bạn PHP là ngôn ngữ linh hoạt hay lõng lẽo.

Phạm vi, tầm vực của biến trong PHP

Trong PHP, các biến có thể được khởi tạo bất kì nơi nào trong đoạn script.
PHP có 3 phạm vi các biến khác nhau như sau:
1. local
2. global
3. static

Biến global và local

Một biến được định nghĩa bên ngoài một hàm thì được gọi là GLOBAL SCOPE và có thể chỉ được truy cập bên ngoài hàm.

<?php
$x = 5; //global scope

function myTest()
{
    // using x inside this function will generate an error
    echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";
?>

Một biến được khai báo bên trong hàm gọi là LOCAL SCOPE và chỉ có thể được truy cập bên trong hàm đó:

<?php
function myTest()
{
    $x = 5; // local scope
    echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>

Bạn có thể có nhiều biến local mà giống tên trong nhiều hàm khác nhau, bởi vì các biến local chỉ được công nhận trong hàm mà nó được khai báo.

Từ khóa global trong PHP

Từ khóa global được sử dụng để cho phép các biến global bên trong hàm mà không xảy ra lỗi.Xe
Xem ví dụ về cách dùng từ khóa global:

<?php 
$x = 5; 
$y = 10; 
function myTest() 
{ 
    global $x, $y; 
    $y = $x + $y; 
} 

myTest(); 
echo $y; // outputs 15 
?>

PHP lưu trữ tất cả các biến global trong một mảng $GLOBALS[index]. index là tên của biến. Mảng này cũng có tác dụng giống như từ khóa global:

<?php 
$x = 5; 
$y = 10; 
function myTest() 
{ 
    $GLOBALS('y') = $GLOBALS('x') + $GLOBALS('y'); 
} 

myTest(); 
echo $y; // outputs 15 
?>

Từ khóa static trong PHP

Thông thường, khi một hàm được thực thi xong, tất cả các biến trong hàm đó sẽ được xóa. Tuy nhiên, khi chúng ta cần giữ lại giá trị của các biến để phục vụ cho một công việc khac thì từ khóa static được sử dụng:

<?php 
function myTest() 
{ 
    static $x = 0; 
    echo $x; 
    $x++; 
} 

myTest(); 
myTest(); 
myTest(); 
?>

Đón xem các bài tiếp theo!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s