4 phạm vi biến của PHP là gì?

Thuật ngữ phạm vi đề cập đến các vị trí trong tập lệnh có thể nhìn thấy một biến cụ thể. Sáu quy tắc phạm vi cơ bản trong PHP như sau

  • Các biến siêu toàn cầu tích hợp có thể nhìn thấy ở mọi nơi trong tập lệnh

  • Các hằng số, sau khi được khai báo, luôn hiển thị trên toàn cầu;

  • Các biến toàn cục được khai báo trong tập lệnh hiển thị trong toàn bộ tập lệnh đó, nhưng không hiển thị bên trong các hàm

  • Các biến bên trong các hàm được khai báo là toàn cục tham chiếu đến các biến toàn cục cùng tên

  • Các biến được tạo bên trong các hàm và được khai báo là tĩnh sẽ ẩn từ bên ngoài hàm nhưng giữ giá trị của chúng giữa một lần thực thi hàm và lần tiếp theo. [Chúng tôi giải thích ý tưởng này đầy đủ trong Chương 5. ]

  • Các biến được tạo bên trong các hàm là cục bộ của hàm và không còn tồn tại khi hàm kết thúc

Mảng $_GET và $_POST và một số biến đặc biệt khác có quy tắc phạm vi riêng. Chúng được gọi là siêu toàn cầu và có thể được nhìn thấy ở mọi nơi, cả bên trong và bên ngoài chức năng

Danh sách đầy đủ các siêu toàn cầu như sau

  • $GLOBALS—Một mảng gồm tất cả các biến toàn cục [Giống như từ khóa toàn cầu, điều này cho phép bạn truy cập các biến toàn cục bên trong một hàm—ví dụ: $GLOBALS['myvariable']. ]

  • $_SERVER—Một mảng các biến môi trường máy chủ

  • $_GET—Một mảng các biến được truyền tới tập lệnh thông qua phương thức GET

  • $_POST—Một mảng các biến được truyền tới tập lệnh thông qua phương thức POST

  • $_COOKIE—Một mảng các biến cookie

  • $_FILES—Một mảng các biến liên quan đến tệp tải lên

  • $_ENV—Một mảng các biến môi trường

  • $_REQUEST—Một mảng gồm tất cả đầu vào của người dùng bao gồm nội dung của đầu vào bao gồm $_GET, $_POST và $_COOKIE [nhưng không bao gồm $_FILES]

  • $_SESSION—Một mảng các biến phiên

Chúng tôi quay lại với từng siêu toàn cầu này trong suốt cuốn sách khi chúng trở nên phù hợp.

Chúng ta sẽ đề cập chi tiết hơn về phạm vi khi thảo luận về hàm và lớp ở phần sau của chương này. Tạm thời tất cả các biến chúng ta sử dụng đều mặc định là global

Trước khi bắt đầu hướng dẫn, hãy để tôi nói cho bạn biết, có ba phạm vi biến sau đây có sẵn trong PHP

Biến cục bộ PHP

Biến cục bộ trong PHP là những biến được định nghĩa trong một hàm. Và phạm vi của các biến đó chỉ dành cho chức năng cụ thể đó, nơi nó được xác định. Ví dụ

Đầu ra được tạo bởi ví dụ PHP ở trên được hiển thị trong ảnh chụp nhanh được cung cấp bên dưới

Biến $x được xác định bên trong hàm có tên là Codecracker[], chỉ có thể truy cập được từ bên trong hàm. Bây giờ, câu hỏi đặt ra là, điều gì sẽ xảy ra nếu chúng ta cố gắng truy cập một biến cục bộ, từ bên ngoài hàm mà nó được xác định?
Hãy cùng tìm hiểu bằng cách sử dụng ví dụ dưới đây.

Lần này, đầu ra được tạo bởi ví dụ trên, là

Kết quả tương tự, bạn sẽ nhận được, nếu bạn cố gắng truy cập một biến cục bộ từ bên ngoài phạm vi nơi biến được xác định

Biến toàn cục PHP

Biến toàn cục trong PHP là những biến được định nghĩa bên ngoài một hàm. Và phạm vi của các biến đó là ở mọi nơi ngoại trừ [các] hàm. Ví dụ

The value of \$x is $x";
   
   if[$x>0]
      echo "

The value of \$x is greater than 0.

"; echo "

Printing the value of \$x for five times:

"; for[$i=0; $i

Đầu ra của ví dụ PHP ở trên là

Bây giờ, câu hỏi đặt ra là, điều gì sẽ xảy ra nếu chúng ta cố gắng truy cập một biến được khai báo bên ngoài một hàm, từ bên trong một hàm?
Hãy cùng tìm hiểu, sử dụng một ví dụ dưới đây.

Bây giờ đầu ra được tạo bởi ví dụ này, là

Bạn sẽ nhận được kết quả tương tự mỗi lần, khi bạn cố gắng truy cập một biến từ bên trong một hàm, được xác định bên ngoài hàm. Nhưng PHP có giải pháp sử dụng biến toàn cục từ bên trong hàm. Giải pháp là, từ khóa toàn cầu, được xác định ngay sau đoạn này

Từ khóa toàn cầu PHP

Sử dụng từ khóa toàn cầu để khai báo một biến toàn cục bên trong một hàm để có thể truy cập biến toàn cầu đó, theo cách này

function functionName[]
{
   global variableName;
}

Tức là sử dụng từ khóa global để khai báo tất cả các biến toàn cục, bên trong hàm mà bạn muốn sử dụng. Ví dụ

The value of \$x is $x";
      global $y;
      echo "

The value of \$y is $y

"; $z = $x + $y; echo "

\$x + \$y = $z

"; } codescracker[]; ?>

Đầu ra của ví dụ PHP ở trên là

Tuy nhiên, PHP lưu trữ tất cả các biến được khai báo trên toàn cầu, trong một mảng có tên $GLOBALS[variable]. Do đó, chúng ta có thể sử dụng mảng này để truy cập và cập nhật một biến toàn cục từ bên trong một hàm. Ví dụ

The value of \$x is ", $GLOBALS['x'], "";
      echo "

The value of \$y is ", $GLOBALS['y'], "

"; $z = $GLOBALS['x'] + $GLOBALS['y']; echo "

\$x + \$y = $z

"; } codescracker[]; ?>

Bạn sẽ nhận được kết quả giống như ví dụ trước. Để tôi tạo một ví dụ khác, nơi tôi sẽ cập nhật biến toàn cục, từ bên trong hàm

\$x = $x [before function, before update]";
   function codescracker[]
   {
      echo "

\$x = ", $GLOBALS['x'], " [inside function, before update]

"; $GLOBALS['x'] = 20; echo "

\$x = ", $GLOBALS['x'], " [inside function, after update]

"; } codescracker[]; echo "

\$x = $x [after function, after update]

"; ?>

Bây giờ đầu ra của ví dụ PHP này là

Biến tĩnh PHP

Biến tĩnh là những biến bảo toàn giá trị trước đó của chúng trong quá trình thực thi hàm. Để tạo một biến tĩnh, chúng ta cần sử dụng từ khóa tĩnh trước biến để làm cho nó tĩnh

Từ khóa tĩnh PHP xuất hiện khi chúng ta cần thực thi một hàm để bảo toàn hoặc sử dụng các giá trị trước đó của nó nhiều lần. Như thường lệ, các biến sẽ bị xóa sau khi thực thi hàm. Ví dụ

$x";
      $x++;
   }
   codes[];
   codes[];
   codes[];
   codes[];
   
   echo "";
   
   function cracker[]
   {
      static $y = 200;
      echo "

$y

"; $y++; } cracker[]; cracker[]; cracker[]; cracker[]; ?>

Đầu ra của ví dụ PHP trên về biến tĩnh, được hiển thị trong ảnh chụp nhanh bên dưới

Trong ví dụ trên, biến $x bên trong hàm đầu tiên, đó là mã [] được định nghĩa như bình thường, do đó, mỗi lần sau khi thực thi hàm, giá trị của nó sẽ được in và biến sẽ bị xóa. Nhưng hãy nhìn vào biến $y được định nghĩa trong hàm thứ hai với từ khóa tĩnh, điều này làm cho biến $y trở thành biến tĩnh. Do đó, nó giữ nguyên giá trị trước đó của nó, ngay cả sau khi thực hiện chức năng

Bốn phạm vi biến của PHP là gì?

Phạm vi biến PHP .
địa phương
toàn cầu
tĩnh

4 loại phạm vi biến là gì?

Phạm vi cục bộ, Phạm vi toàn cầu, Phạm vi kèm theo và Phạm vi tích hợp . Phạm vi địa phương. Phạm vi cục bộ đề cập đến các biến được xác định trong hàm hiện tại.

Các loại biến PHP khác nhau là gì?

Kiểu dữ liệu PHP .
Chuỗi
số nguyên
Float [số dấu phẩy động - còn gọi là double]
Boolean
Mảng
Vật
Nguồn

Phạm vi của các biến là gì?

Nói một cách đơn giản, phạm vi của một biến là thời gian tồn tại của nó trong chương trình . Điều này có nghĩa là phạm vi của một biến là khối mã trong toàn bộ chương trình nơi biến được khai báo, sử dụng và có thể được sửa đổi.

Chủ Đề