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à 2Phạ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à 4Giả 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ã sauTuy 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ình0Truy 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ố2Nế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
1Sử 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ơiDưới đây là một ví dụ viết lại hàm
8 để sử dụng giá trị toàn cục là 38Mộ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 82Trong 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ục7Cá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 9Bạ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ơiBiế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 đó
1Như 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 8Mộ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ướiVí 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.0Suy 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 08Họ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
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