Giới thiệu
Trong php, & nbsp; đối số cho một hàm có thể được truyền bằng giá trị hoặc được truyền bằng tham chiếu. Theo mặc định, các giá trị của các đối số thực tế được truyền bởi giá trị cho các đối số chính thức trở thành các biến cục bộ bên trong hàm. Do đó, việc sửa đổi các biến này không thay đổi giá trị của biến đối số thực tế., arguments to a function can be passed by value or passed by reference. By default, values of actual arguments are passed by value to formal arguments which become local variables inside the function. Hence, modification to these variables doesn't change value of actual argument variable.
Khi các đối số được truyền qua tham chiếu, sự thay đổi về giá trị của đối số chính thức được phản ánh trong biến đối số thực tế vì cái trước là một tham chiếu đến sau. Do đó, truyền qua cơ chế tham chiếu giúp thao tác gián tiếp dữ liệu trong không gian toàn cầu. Nó cũng giúp khắc phục thực tế là một hàm chỉ có thể trả về một biến.
Vượt qua giá trị
Trong ví dụ sau, hai biến được truyền vào hàm hoán đổi []. Mặc dù cơ chế hoán đổi diễn ra bên trong hàm, nó không thay đổi giá trị của các biến được truyền
Thí dụ
& nbsp; bản demo trực tiếp
Đầu ra
Ví dụ này đưa ra đầu ra sau
before calling function : arg1=10 arg2=20 inside function before swapping: arg1=10 arg2=20 inside function after swapping: arg1=20 arg2=10 after calling function : arg1=10 arg2=20
Vượt qua tham chiếu
Để nhận các đối số bằng tham chiếu, đối số chính thức được sử dụng phải được sử dụng trước & ký hiệu. Nó làm cho tham chiếu đến các biến được sử dụng để gọi hàm. Do đó, kết quả của việc hoán đổi chức năng bên trong cũng sẽ được phản ánh trong các biến ban đầu đã được thông qua
Thí dụ
& nbsp; bản demo trực tiếp
Đầu raĐầu ra
Ví dụ này đưa ra đầu ra sau
before calling function : arg1=10 arg2=20 inside function before swapping: arg1=10 arg2=20 inside function after swapping: arg1=20 arg2=10 after calling function : arg1=20 arg2=10
Vượt qua tham chiếu
Thí dụ
& nbsp; bản demo trực tiếp
Đầu ra
Ví dụ này đưa ra đầu ra sau
11 21 31
Vượt qua tham chiếu
Thí dụ
& nbsp; bản demo trực tiếp
Đầu ra
Ví dụ này đưa ra đầu ra sau
11 12 13 14 15
Vượt qua tham chiếu
Để nhận các đối số bằng tham chiếu, đối số chính thức được sử dụng phải được sử dụng trước & ký hiệu. Nó làm cho tham chiếu đến các biến được sử dụng để gọi hàm. Do đó, kết quả của việc hoán đổi chức năng bên trong cũng sẽ được phản ánh trong các biến ban đầu đã được thông qua
Thí dụ
& nbsp; bản demo trực tiếp
Đầu ra
Ví dụ này đưa ra đầu ra sau
name: Amar
Vượt qua tham chiếu
- Để nhận các đối số bằng tham chiếu, đối số chính thức được sử dụng phải được sử dụng trước & ký hiệu. Nó làm cho tham chiếu đến các biến được sử dụng để gọi hàm. Do đó, kết quả của việc hoán đổi chức năng bên trong cũng sẽ được phản ánh trong các biến ban đầu đã được thông qua
- Kết quả hoán đổi sẽ được hiển thị như sau
- Trong ví dụ sau, phần tử mảng là các tham chiếu đến các biến riêng lẻ được khai báo trước khi khởi tạo mảng. Nếu phần tử được sửa đổi, giá trị của biến cũng thay đổi
- Các giá trị của $ a, $ b và $ c cũng được tăng lên
- Cũng có thể chuyển qua tham chiếu một mảng cho một hàm
- Mảng đã sửa đổi sẽ được hiển thị như sau
- Đối tượng và tài liệu tham khảo
- Trong PHP, các đối tượng được truyền qua các tài liệu tham khảo theo mặc định. Khi một tham chiếu của đối tượng được tạo, tham chiếu của nó cũng được gửi dưới dạng đối số dưới dạng $ thì điều này cũng được tham chiếu đến đối tượng đầu tiên
- Mã trên sẽ hiển thị đầu ra sau
- Cập nhật vào ngày 18 tháng 9 năm 2020 12:13:27
- Câu hỏi và câu trả lời liên quan
- Đi qua con trỏ so với đi qua tham chiếu trong C ++
- Có lợi ích của việc vượt qua con trỏ qua việc đi qua tham chiếu trong C ++ không?
- Php trở lại bằng cách tham khảo
- Những gì vượt qua bằng cách tham chiếu và vượt qua giá trị trong PHP?