Cách sử dụng biến ngoài phạm vi trong php?

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

1 và 
2

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

3 và 
4

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

Biến

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

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ụ

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

6 bên ngoài hàm 
7 của mình

0

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

8 dưới đây lấy số lượng các số tự nhiên làm tham số

2

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

1

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

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

1 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

Dưới đây là một ví dụ viết lại hàm

8 để sử dụng giá trị toàn cục là 
3

8

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 nào mà

8 dựa vào để tạo ra kết quả của nó. Giá trị của 
3 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 
8

2

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

8 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 
3 đã đượ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 9 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

9. Đ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

7

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

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

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

1 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 những thay đổi trong 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

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

8 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 
8

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

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

6

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

08. 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.

0

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

1. 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 
08

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

Cách sử dụng biến ngoài phạm vi trong php?

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

Biến cục bộ có thể được sử dụng bên ngoài phạm vi của nó không?

Biến cục bộ . Bất cứ điều gì giữa '{' và '}' được cho là bên trong một khối. Các biến cục bộ không tồn tại bên ngoài khối mà chúng được khai báo, i. e. không thể truy cập hoặc sử dụng chúng bên ngoài khối đó .

Làm cách nào để truy cập biến cục bộ bên ngoài chức năng trong PHP?

Không, bạn không thể truy cập biến cục bộ của một hàm từ một hàm khác mà không chuyển nó làm đối số . Bạn có thể sử dụng các biến toàn cục cho việc này, nhưng sau đó biến đó sẽ không còn là cục bộ.

Điều gì xảy ra khi một biến nằm ngoài phạm vi?

Một biến được khai báo bên trong hàm có phạm vi hàm. Nó đã được cấp phát bộ nhớ khi hàm được gọi và một khi hàm trả về một thứ gì đó, thì việc thực thi hàm kết thúc và cùng với nó, biến đó sẽ vượt ra ngoài phạm vi, i. e. nó bị xóa khỏi bộ nhớ .

Làm cách nào bạn có thể làm cho một biến có thể truy cập được vào tất cả các phần của chương trình PHP?

Để truy cập biến toàn cục trong một hàm, hãy sử dụng từ khóa GLOBAL trước biến . Tuy nhiên, các biến này có thể được truy cập trực tiếp hoặc sử dụng bên ngoài hàm mà không cần bất kỳ từ khóa nào. Do đó, không cần sử dụng bất kỳ từ khóa nào để truy cập một biến toàn cục bên ngoài hàm.