Phạm vi của biến trong php với ví dụ

Biến là một phần quan trọng của bất kỳ ngôn ngữ lập trình nào. Bạn có thể sử dụng chúng để lưu trữ tất cả các loại thông tin như số nguyên, số float, chuỗi, mảng, nội dung của tệp, v.v. Dữ liệu được lưu trữ trong các biến sau đó có thể được thao tác bằng cách thêm hoặc xóa thông tin. Sử dụng các biến cũng cho phép chúng ta tạo các vòng lặp và thực hiện một số tác vụ lặp đi lặp lại. Bạn cũng có thể định nghĩa các hàm lấy các biến khác nhau làm đối số và trả lại dữ liệu mới

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về một khái niệm quan trọng được gọi là phạm vi biến và cách nó ảnh hưởng đến cách bạn viết mã trong PHP. Chúng tôi cũng sẽ đề cập đến việc sử dụng các từ khóa

2
75 và
2
76

Phạm vi biến là gì?

Các biến được sử dụng để lưu trữ và truy cập hoặc thao tác thông tin sau này, nhưng bạn không thể truy cập dữ liệu của chúng từ bất kỳ nơi nào bạn muốn. Một số biến có thể không truy cập được ở một số nơi, tùy thuộc vào ngôn ngữ lập trình bạn đang sử dụng

Nói một cách đơn giản, phạm vi của một biến xác định tính khả dụng của nó trong các phần khác nhau của chương trình

Phạm vi biến trong PHP

PHP có cách tiếp cận dễ hiểu và thân thiện với người mới bắt đầu đối với phạm vi biến

Về cơ bản, một biến bạn xác định ở đâu đó trong tệp PHP sẽ hiển thị hoặc có sẵn ở hầu hết mọi nơi sau khi nó được xác định. Bạn cũng sẽ có thể sử dụng nó trong các tệp khác được thêm vào chương trình bằng cách sử dụng

2
77 và
2
78

Giả sử có một tệp tên là biến. php và nó chứa đoạn mã sau

1
<?php
2
$apple_count = 12;
3
?>

Biến

2
79 cũng sẽ có sẵn trong một tệp khác với mã sau

1
<?php
2
include('variables.php');
3
<?php
1_______5_______2
<?php
3
<?php
4
<?php
5_______9_______

Tuy nhiên, biến này sẽ không khả dụng bên trong các hàm do người dùng định nghĩa. Đây là một ví dụ

1
<?php
2
include('variables.php');
3
___
<?php
2
<?php
1
<?php
3
2
5
<?php
5
2
7
2
8
2
9
$apple_count = 12;
0
$apple_count = 12;
1
$apple_count = 12;
2
$apple_count = 12;
3
$apple_count = 12;
4
$apple_count = 12;
5_______9_______

Vì vậy, các biến được xác định bên ngoài hàm do người dùng xác định không có sẵn trong hàm. Tương tự, các biến được xác định trong một hàm tồn tại ngay bên trong hàm đó. Đó là lý do tại sao chúng tôi nhận được thông báo khi chúng tôi cố lặp lại giá trị của

2
80 bên ngoài chức năng
2
81 của chúng tôi

1
<?php
2
3
2
5
<?php
1
3
3
<?php
3
3
5
<?php
5_______0_______9
2
8
$apple_count = 12;
0
$apple_count = 12;
2
$apple_count = 12;
1
?>
2
$apple_count = 12;
3
$apple_count = 12;
5_______9_______5_______9_______6_______9_______7_______9_______8_______9_______9_______

Truy cập các biến bên trong hàm

Các chức năng thường yêu cầu một số dữ liệu đầu vào để làm điều gì đó hữu ích. Cách tốt nhất để làm điều đó là truyền thông tin cùng với việc sử dụng các tham số khác nhau trong định nghĩa hàm. Ví dụ: hàm

2
82 bên dưới lấy số lượng các số tự nhiên làm tham số

1
<?php
2
1
4
3
___
1
6_______5_______1
<?php
3
1
9
<?php
5_______0_______9
2
8
$apple_count = 12;
0
<?php
4
$apple_count = 12;
1
<?php
6
$apple_count = 12;
3
?>

Nếu bạn cần lấy một biến từ bên ngoài và sử dụng nó bên trong một hàm, bạn có thể cân nhắc sử dụng từ khóa

2
75

Sử dụng từ khóa PHP 275 để truy cập các biến

Bạn có thể chỉ cần sử dụng từ khóa

2
75 trước bất kỳ biến nào để lấy giá trị của nó từ phạm vi toàn cầu. Khi bạn làm điều đó, bất cứ thứ gì được lưu trữ trong biến sẽ có sẵn bên trong hàm mà không cần chuyển nó dưới dạng tham số. Bạn cũng sẽ có thể thay đổi giá trị của biến bên trong hàm và các thay đổi sẽ được phản ánh ở mọi nơi

Đây là một ví dụ viết lại hàm

2
82 để sử dụng giá trị toàn cục là
2
87

1
<?php
2
3
2
3_______5_______1
<?php
3
2
6
<?php
5
2
8
2
8
1
6
$apple_count = 12;
0
$apple_count = 12;
1
1
9_______7_______3
2
9
$apple_count = 12;
5_______9_______6_______14_______8_______9_______8_______9_______6_______9_______

Một trong những nhược điểm lớn của việc làm theo cách này là chúng ta không còn biết loại dữ liệu mà

2
82 dựa vào để tạo ra kết quả của nó. Giá trị của
2
87 cũng có thể được thay đổi ở bất kỳ đâu trong mã của bạn và nó sẽ ảnh hưởng đến đầu ra của việc gọi lại
2
82

1
<?php
2
3
2
3
<?php
1
<?php
3
2
6
<?php
5
2
8
2
8
1
6
$apple_count = 12;
0
$apple_count = 12;
1
1
9
$apple_count = 12;
3
$apple_count = 12;
5
<?php
20
?>
6
2
9
?>
8
?>
9
include('variables.php');
8
<?php
26
<?php
6
<?php
28
<?php
29
include('variables.php');
8
<?php
31
<?php
32
<?php
33
?>

Trong ví dụ trên, chúng ta không có cách nào biết điều gì đã thay đổi đầu ra của

2
82 mà không cần xem mã. Ở đây chúng ta vẫn có thể dễ dàng nhận ra rằng giá trị của
2
87 đã được tăng thêm 5 trong chính hàm đó. Tuy nhiên, điều này có thể không dễ dàng khi bạn đang xử lý một lượng lớn mã

Đó là lý do tại sao tốt hơn hết là tránh sử dụng toàn cầu bất cứ khi nào có thể

Sử dụng PHP 293 Superglobal để truy cập các biến

Một cách khác để truy cập các biến toàn cục bên trong một hàm là sử dụng hàm siêu toàn cục

2
93. Điều này cũng cho phép bạn có một biến cục bộ có cùng tên với biến toàn cục

1
<?php
2
3
2
3
<?php
1
<?php
3
2
6
<?php
5
<?php
44
2
8
<?php
46
$apple_count = 12;
0
$apple_count = 12;
1
<?php
49
$apple_count = 12;
3
1
6
$apple_count = 12;
5
1
9
?>
6
2
9
?>
8
?>
9
include('variables.php');
8
<?php
26
<?php
6
<?php
28
<?php
62
<?php
29
?>

Các vấn đề khiến việc sử dụng từ khóa

2
75 trở thành một thông lệ không tốt cũng tồn tại đối với
2
93

Bạn nên cân nhắc việc tránh sử dụng các biến toàn cục càng nhiều càng tốt và chỉ sử dụng chúng nếu bạn không thể nghĩ ra bất kỳ cách nào khác để dễ dàng lấy dữ liệu từ một biến bên trong hàm cụ thể của mình

Một tình huống có thể hữu ích khi sử dụng

2
75 là khi bạn muốn theo dõi và cập nhật giá trị của một biến qua một số định nghĩa hàm khác nhau và muốn các thay đổi về giá trị của biến được phản ánh ở mọi nơi

Biến tĩnh trong PHP

Các biến được định nghĩa bên trong một hàm trong PHP chỉ tồn tại trong phạm vi của hàm đó. Điều này có nghĩa là biến không còn khả dụng khi chúng ta thoát khỏi phạm vi cục bộ. Điều đó cũng có nghĩa là bất kỳ giá trị nào chúng ta gán cho một biến bên trong một hàm sẽ không tồn tại trong nhiều lần gọi hàm đó

1
<?php
2
1
4
3
<?php
70
<?php
1
1
6
<?php
3
<?php
5
1
9
2
8
$apple_count = 12;
0
<?php
78
$apple_count = 12;
1
<?php
80
$apple_count = 12;
3
2
9
$apple_count = 12;
5
?>
6
<?php
85
?>
8
<?php
87
?>
9
<?php
26
<?php
90
<?php
28
<?php
92
<?php
29
<?php
31
<?php
95
<?php
33
<?php
97
<?php
98
?>

Như bạn có thể thấy, chúng tôi gọi

2
82 ba lần trong ví dụ trên, nhưng giá trị của nó tiếp tục đặt lại thành 0 ở đầu các cuộc gọi của chúng tôi. Điều này khiến chúng tôi khó theo dõi số lần chúng tôi đã gọi cho
2
82

Một cách để khắc phục hạn chế này là sử dụng từ khóa

2
76. Bây giờ, giá trị của
$apple_count = 12;
01 sẽ tồn tại qua nhiều cuộc gọi, như được hiển thị trong ví dụ bên dưới

1
<?php
2
1
4
3
2
05
<?php
1
1
6
<?php
3
<?php
5
1
9
2
8
$apple_count = 12;
0
<?php
78
$apple_count = 12;
1
<?php
80
$apple_count = 12;
3
2
9
$apple_count = 12;
5
?>
6
<?php
85
?>
8
<?php
87
?>
9
<?php
26
<?php
90
<?php
28
2
27
<?php
29
<?php
31
<?php
95
<?php
33
2
32
<?php
98
2
34
2
35
2
36
?>
7
2
38
?>

Ví dụ trên cũng cho thấy rằng việc khai báo một biến là tĩnh trong PHP không làm cho nó khả dụng ngoài phạm vi của nó

Nếu bạn muốn truy cập giá trị của một biến bên ngoài chức năng của nó, cách tốt nhất để làm điều đó là sử dụng câu lệnh

$apple_count = 12;
02. Bạn có thể trả về bất kỳ loại giá trị nào như chuỗi, mảng, đối tượng, v.v.

1
<?php
2
1
4
3
2
05
<?php
1
1
6
<?php
3
<?php
5
1
9
2
8
$apple_count = 12;
0
<?php
78
$apple_count = 12;
1
$apple_count = 12;
3
2
56
$apple_count = 12;
5
2
9
?>
6
?>
8
<?php
85
?>
9
<?php
26
<?php
90
<?php
28
<?php
29
2
67
<?php
31
<?php
33
2
70
<?php
98
2
72
2
34
?>

Suy nghĩ cuối cùng

PHP có hai loại phạm vi cho các biến. Có một phạm vi toàn cầu chung, trong đó các biến bạn xác định trong chương trình có sẵn ở mọi nơi, như vòng lặp và các tệp khác bao gồm tệp có biến. Sau đó, có một phạm vi cục bộ cho các hàm do người dùng xác định, trong đó các biến được giới hạn cho hàm cụ thể đó

Tuy nhiên, điều này không ngăn cản sự di chuyển tự do của thông tin bên trong và bên ngoài các chức năng. Bạn có thể truy cập vào các biến bên ngoài không được bao gồm dưới dạng tham số trong hàm bằng cách sử dụng từ khóa

2
75. Tương tự, bạn có thể truy cập giá trị của một biến được xác định bên trong một hàm bằng cách sử dụng câu lệnh
$apple_count = 12;
02

Học PHP với một khóa học trực tuyến miễn phí

Nếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP

Phạm vi của biến trong php với ví dụ

Trong khóa học này, bạn sẽ học các nguyên tắc cơ bản của lập trình PHP. Bạn sẽ bắt đầu với những kiến ​​thức cơ bản, học cách PHP hoạt động và viết các hàm và vòng lặp PHP đơn giản. Sau đó, bạn sẽ xây dựng các lớp mã hóa để lập trình hướng đối tượng đơn giản (OOP). Đồng thời, bạn sẽ học tất cả các kỹ năng quan trọng nhất để viết ứng dụng cho web. bạn sẽ có cơ hội thực hành phản hồi các yêu cầu GET và POST, phân tích cú pháp JSON, xác thực người dùng và sử dụng cơ sở dữ liệu MySQL

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

PHP có ba phạm vi biến khác nhau. cục bộ . toàn cầu . tĩnh .

phạm vi của biến với ví dụ 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. Trong phần tiếp theo, bạn sẽ tìm hiểu về phạm vi biến cục bộ.

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

Tóm tắt. PHP có bốn loại phạm vi biến bao gồm tham số cục bộ, toàn cục, tĩnh và hàm .

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

Bạn sẽ tìm hiểu về bốn phạm vi khác nhau với sự trợ giúp của các ví dụ. cục bộ, kèm theo, toàn cầu và tích hợp sẵn . Các phạm vi này cùng nhau tạo thành cơ sở cho quy tắc LEGB được trình thông dịch Python sử dụng khi làm việc với các biến.