Hướng dẫn where are global variables stored in php? - Các biến toàn cục được lưu trữ ở đâu trong php?

Trường hợp các biến PHP được tuyên bố trên toàn cầu được lưu trữ trong bộ nhớ? Nếu chúng ta khai báo một biến $ test = 0; chức năng bên ngoài.

trong đó biến và giá trị này được lưu trữ trong bộ nhớ. Có những ký ức như HEAP, STACK, SEGMENT và phân đoạn dữ liệu được liên kết với mỗi chương trình. Trong PHP, làm thế nào bộ nhớ được quản lý cho một chương trình PHP? .. Làm thế nào các biến được xử lý trong PHP? ...

Hỏi ngày 21 tháng 10 năm 2013 lúc 9:44Oct 21, 2013 at 9:44

5

Các biến toàn cầu được lưu trữ trong mảng liên kết $ Globals.

Nếu bạn làm điều gì đó như:

$var="global";

function foo[]{
    $var="local";
    echo $GLOBALS['var'];
    echo $var;
}

Nó sẽ in "toàn cầu" và sau đó là "địa phương".

Đã trả lời ngày 21 tháng 10 năm 2013 lúc 10:01Oct 21, 2013 at 10:01

NarylarylNaryl

1.8681 Huy hiệu vàng10 Huy hiệu bạc12 Huy hiệu đồng1 gold badge10 silver badges12 bronze badges

3

Phạm vi của một biến là bối cảnh trong đó nó được xác định. Đối với hầu hết các phần, tất cả các biến PHP chỉ có một phạm vi duy nhất. Phạm vi duy nhất này bao gồm và các tập tin cần thiết là tốt. Ví dụ:

Ở đây $ một biến sẽ có sẵn trong tập lệnh B.INC đi kèm. Tuy nhiên, trong các chức năng do người dùng xác định, một phạm vi chức năng cục bộ được giới thiệu. Bất kỳ biến nào được sử dụng bên trong một hàm theo mặc định giới hạn trong phạm vi hàm cục bộ. Ví dụ:

Tập lệnh này sẽ không tạo ra bất kỳ đầu ra nào vì câu lệnh ECHO đề cập đến phiên bản cục bộ của biến $ A và nó chưa được gán giá trị trong phạm vi này. Bạn có thể nhận thấy rằng điều này hơi khác một chút so với ngôn ngữ C trong các biến toàn cầu trong C được tự động có sẵn cho các chức năng trừ khi cụ thể được ghi đè bởi một định nghĩa cục bộ. Điều này có thể gây ra một số vấn đề ở chỗ mọi người có thể vô tình thay đổi một biến toàn cầu. Trong các biến toàn cầu PHP phải được khai báo toàn cầu bên trong một hàm nếu chúng sẽ được sử dụng trong hàm đó.

Từ khóa global

Đầu tiên, một ví dụ sử dụng global:

Ví dụ #1 sử dụng global

1

Ví dụ trên sẽ xuất ra:

NULL
object[stdClass]#1 [0] {
}

Một hành vi tương tự áp dụng cho câu lệnh

NULL
object[stdClass]#1 [0] {
}
7.Các tài liệu tham khảo không được lưu trữ một cách thống trị:

3

4

5

Ví dụ trên sẽ xuất ra:

Static object: NULL
Static object: NULL

Static object: NULL
Static object: object[stdClass]#3 [1] {
  ["property"]=>
  int[1]
}

Ví dụ này chứng minh rằng khi gán một tham chiếu đến một biến tĩnh, nó không được nhớ khi bạn gọi hàm 6 lần thứ hai.

Dodothedreamer tại Gmail Dot Com ¶

11 năm trước

7

Warheog tại Warhog Dot Net

16 năm trước

8

9

0

1

Michael Bailey [Jinxidoru tại BYU Dot Net] ¶

18 năm trước

2

3

4

5

6

Andrew tại Planetubh Dot Com ¶

13 năm trước

7

8

9

global0

global1

global2

global3

global4

global5

Larax tại O2 dot pl ¶

16 năm trước

global6

global7

global8

global5

Michael Bailey [Jinxidoru tại BYU Dot Net] ¶

18 năm trước

global0

global1

global2

global3

Andrew tại Planetubh Dot Com ¶

13 năm trước

global4

global5

global6

global7

global8

global9

5

global1

Larax tại O2 dot pl ¶

Gried tại Nospam Dot Nsys Dot của ¶

global2

global3

global4

global5

global5

6 năm trước

13 năm trước

global7

global8

global5

Larax tại O2 dot pl ¶

18 năm trước

0

Bài Viết Liên Quan

Chủ Đề