Biến và Hằng, phạm vi Biến trong PHP

Bài viết sẽ giới thiệu về biến cách khai báo biến, hằng và phạm vi biến trong PHP

I. GIỚI THIỆU VỀ BIẾN

- Biến( variable) Trong Lập trình có thể hiểu nôm na là các giá trị có thể thay đổi được. 

- Để khai báo biến trong PHP thì nó cũng có một số nguyên tắc sau:

  • Biến phải được bắt đầu bằng ký tự $.
  • Tên biến phân biệt hoa thường nên $var khác với $Var
  • Tên biến phải được bắt đầu bằng các chữ cái hoặc dấu _ không được bắt đầu bằng số, và các ký tự khác ngoài _ 

VD:

$var = 'hello';

$_var = 'hello Việt Nam';

- Trong PHP chúng ta sử dụng dấu = để gán giá trị cho biến.

VD:

$var = 'hello 123';

II. PHẠM VI CỦA BIẾN 

- Các biến trong PHP có thể là một trong bốn loại phạm vi sau:

  • Biến cục bộ.
  • Tham số các hàm.
  •  Biến toàn cục.
  •  Biến static.

 

1) Biến cục bộ:

Một biến được khai báo trong một hàm thì được xem như là một biến cục bộ và nó chỉ được tham chiếu trong hàm đó. Bất kể việc gán giá trị bên ngoài hàm đều xem như là biến hoàn toàn khác với biến trong hàm đó. Chú ý khi thoát khỏi hàm mà biến cục bộ được khai báo, thì biến và giá trị của nó sẽ bị huỷ bỏ. Biến cục bộ có thuận lợi bởi nó loại bỏ những khả năng của các tác động không dự đoán được làm thay đổi kết quả từ các biến có thể truy cập toàn cục.

VD:

<?php 
    $x = 4;
    function assignx () {
        $x = 0;
        dd($x);
        //kết quả: 0
    }
    dd($x);
    //kết quả: 4
?>

2) Biến toàn cục:

Ngược lại với biến cục bộ, biến toàn cục có thể được truy cập từ bất cứ phần nào trong chương trình .Tuy nhiên, để có thể chỉnh sửa biến toàn cục bên trong 1 hàm thì nó phải được khai báo toàn cục sử dụng từ khoá GLOBAL ở phía trước.

VD:

<?php 
  $var = 15;
  function addit() {
    GLOBAL $var;
    $var++;
    dd($var);
    //kết quả: 16
  }
?>

Nếu bỏ dòng GLOBAL $var; thì kết quả sẽ bằng 1, bởi biến $var được xem như là biến cục bộ trong hàm addit( ).

VD:

<?php 
  $var = 15;
  function addit() {
    $var++;
    dd($var);
    //kết quả: 1
  }
?>

Một cách khác để chỉ định một biến là toàn cục, chúng ta có thể sử dụng mảng $GLOBALS trong hàm. Ví du, khai báo biến $var là toàn cục bằng cách sử dụng mảng này như sau :

<?php 
  $var = 15;
  function addit() {
    GLOBAL ["var"];
    $var++;
    dd($var);
    // kết quả: 16
  }
?>

3) Biến static:

-  Tương phản với các biến cục bộ của hàm là nó sẽ bị huỷ bỏ khi thoát khỏi hàm, thì biến static sẽ không mất giá trị của nó khi thoát khỏi hàm và vẫn giữ nguyên giá trị đó khi hàm được gọi lại lần nữa.

-  Bạn có thể khai báo một biến là static bằng cách dùng từ khoá STATIC đặt trước tên biến.

VD:

function test() {
    STATIC $count = 0;
    $count++;
    print $count;
    print "<br>";
}
test();
test();
test();
//kết quả: 
1
2
3

III. HẰNG 

-  Hằng bản chất là một loại biến nhưng không thể thay đổi giá trị được. Tuy rằng xét về bản chất là giống nhau nhưng cách khai báo thì hoàn toàn khác nhau.

Cú pháp khai báo hằng như sau:

define('tenHang', 'giaTri');

Trong đó:

  • define: là cú pháp mặc định để tạo hằng trong PHP.
  • tenHang: là tên của hằng các bạn muốn đặt.
  • giaTri: là giá trị của hằng các bạn vừa đặt tên.

VD: Mình tạo một hằng NAME có giá trị là Nguyen Van A

<?php
    define('NAME', Nguyen Van A');
    echo NAME;

    //kết quả: Nguyen Van A
?>
Bài liên quan

Biến và Hằng, phạm vi Biến trong PHP

Bài viết sẽ giới thiệu về biến cách khai báo biến, hằng và phạm vi biến trong PHP

Nguyễn Huân viết 23:02 ngày 09/11/2018

[BÀI 9] PHẠM VI BIẾN TRONG PHP

Thông thường PHP coi các biến được sử dụng trong thân của hàm là biến cục bộ. Nghĩa là biến trong thân hàm không làm thay đổi giá trị của biến biến ở ngoài hàm đó. Muốn làm thay đổi giá trị của biến ngoài ta cần khai báo global trước biến đó trong thân hàm. Giá trị của một biến được thay đổi ...

Trần Trung Dũng viết 17:00 ngày 04/10/2018

Bài 3: Các kiểu dữ liệu và phạm vi biến trong PHP

PHP có tổng cộng tám loại dữ liệu được sử dụng cho các biến, các kiểu dữ liệu này thường được hiểu ngầm dựa vào giá trị của biến mà không cần phải khai báo. Để có thể học lập trình php chúng ta cần phải nắm vững các kiểu dữ liệu và toán tử của PHP. Integers: là kiểu số nguyên, không có dấu ...

Trần Trung Dũng viết 16:27 ngày 01/10/2018

Tìm USCLN và BSCNN của 2 số trong PHP

PHP Đề bài : viết chương trình tìm ước số chung lớn nhất ( USCLN ) và bội số chung nhỏ nhất ( BSCNN ) của hai số nguyên dương a và b. Định nghĩa USCLN của 2 số nguyên dương a và b là một số k lớn nhất, sao cho a và b đều chia hết cho k. BSCNN của 2 số nguyên ...

Tạ Quốc Bảo viết 13:09 ngày 16/09/2018

Các biến trong PHP

Các biến là “container” để lưu trữ thông tin. Tạo (Tuyên bố) Các biến PHP Trong PHP, một biến bắt đầu với dấu $, tiếp theo là tên của biến: Sau khi thực hiện các câu lệnh ở trên, biến $ txt sẽ giữ giá trị Hello world! , Biến $ x sẽ giữ ...

Bùi Văn Nam viết 14:33 ngày 07/09/2018
0