Bài 3 - BIẾN


Có lẽ hơi muộn khi tới tận bây giờ ta mới tìm hiểu tới biến trong PHP. Một biến trong PHP được bắt đầu bằng ký tự $ và đi theo ngay sau đó là tên của biến. Ví dụ:
$a: biến có tên là a
$abc123: biến có tên là abc123

Tuy nhiên vẫn còn nhiều điều thú vị về biến đang chờ ta khám phá. 

Biến trong PHP phân biệt chữ hoa và chữ thường. Tức $Abc và $abc là 2 biến hoàn toàn khác nhau. 
Tên biến chỉ được bao gồm các ký tự chữ cái (a..z hoặc A...Z), chữ số (0...9) và ký tự gạch dưới (_); nhưng tên biến không được bắt đầu bằng ký tự gạch dưới hoặc chữ số. Các tên biến sau là không hợp lệ!
$_abc Không hợp lệ! bắt đầu bằng ký tự gạch dưới
$1abc Không hợp lệ! bắt đầu bằng chữ số
$nguyễn Không hợp lệ! tên biến có ký tự đặt biệt (ễ)

Tầm vực (scope) của biến
Tầm vực của biến là ngữ cảnh mà ở trong đó biến được định nghĩa. Ví dụ: 

<?php
$a = 1; //tầm vực của biến $a bắt đầu từ đây

include 'b.php'; trải dài tới bên trong file b.php

//tới cuối file vẫn còn hợp lệ
?>
Tuy nhiên khi gặp 1 hàm do người dùng định nghĩa, bên trong hàm, biến cục bộ sẽ được dùng thay vì biến toàn cục. Ví dụ: 

<?php
$a = 1; //biến toàn cục

//hàm do tự tạo
function test() {
echo $a;
} //end test
?>
Ở ví dụ trên, câu lệnh echo $a sẽ không in ra giá trị nào hết vì câu lệnh này nằm bên trong hàm test nên $a ở đây được hiểu là biến cục bộ $a của hàm (mà hàm này ta chưa khai báo biến cục bộ nào cả).

Để truy cập tới các biến toàn cục ở bên trong 1 hàm do người dùng định nghĩa, ta có thể dùng 1 trong 2 cách sau: 
Cách 1: 

<?php
$a = 1; //biến toàn cục

//hàm do tự tạo
function test() {
//từ khoá global báo cho php biết là bên trong hàm test
//bây giờ ta sẽ dùng biến toàn cục $a
global $a;

echo $a; //in ra giá trị: 1
} //end test
?>
Cách 2: 

<?php
$a = 1; //biến toàn cục

//hàm do tự tạo
function test() {
echo $GLOBALS['a']; //in ra giá trị: 1
} //end test
?>
Share on Google Plus

About thanh

    Blogger Comment
    Facebook Comment

0 nhận xét:

Đăng nhận xét

cắt mí mắt