Hướng dẫn what is pass by value in php? - truyền theo giá trị trong php là gì?
Trong bài viết này, chúng tôi sẽ tìm hiểu về vượt qua giá trị và vượt qua bằng cách tham khảo trong PHP. & NBSP; Show Bây giờ, hãy để hiểu chi tiết hai khái niệm này. Trong PHP nói chung, chúng tôi đã làm theo để chuyển các đối số cho hàm với cách tiếp cận giá trị được truyền. Chúng tôi đang tuân theo thực tiễn này bởi vì nếu giá trị của đối số trong hàm được thay đổi, nó không bị thay đổi bên ngoài hàm. Trong một số trường hợp, chúng ta có thể cần sửa đổi các đối số chức năng, vì vậy để cho phép một hàm sửa đổi các đối số của nó, chúng phải được truyền bằng cách tham chiếu. Hãy bắt đầu bằng việc được thông qua bởi tham chiếu. Vì nó đã được đề cập, chúng tôi có thể chuyển một biến bằng cách tham chiếu đến một hàm để hàm có thể sửa đổi biến. Để bắt đầu quá trình truyền các tham số được truyền qua tham chiếu, hãy dành cho một ampersand và) cho tên đối số trong định nghĩa hàm. Thí dụHãy kiểm tra điều này với một ví dụ đơn giản. Đầu ra6 Giải trìnhỞ đây chúng tôi đã khai báo biến $ a và chuyển nó dưới dạng thông qua tham chiếu đến hàm tính toán (). Vì vậy, như nguyên tắc nói rằng nếu giá trị của $ a được thay đổi bên trong hàm thì nó cũng sẽ thay đổi bên ngoài hàm. Ghi chúKhông có dấu hiệu tham chiếu trên một cuộc gọi chức năng - chỉ trên các định nghĩa chức năng. Định nghĩa chức năng một mình là đủ để vượt qua chính xác đối số bằng cách tham khảo. Điều này không được dùng trong phiên bản 5.4 của PHP khi bạn sử dụng để tính toán (& $ a); Nó ném một lỗi. Thí dụHãy kiểm tra điều này với một ví dụ đơn giản. "; } $a=5; calculate($a); echo $a; ?> Đầu ra6 5 Giải trìnhỞ đây chúng tôi đã khai báo biến $ a và chuyển nó dưới dạng thông qua tham chiếu đến hàm tính toán (). Vì vậy, như nguyên tắc nói rằng nếu giá trị của $ a được thay đổi bên trong hàm thì nó cũng sẽ thay đổi bên ngoài hàm.
Ghi chú
Bạn có thể chuyển một biến bằng cách tham chiếu đến một hàm để hàm có thể sửa đổi biến. Cú pháp như sau:
Những điều sau đây có thể được thông qua bằng cách tham khảo:
Không có biểu thức nào khác nên được truyền qua tham chiếu, vì kết quả không được xác định. Ví dụ: các ví dụ sau về việc truyền qua tham chiếu không hợp lệ:
Tnestved tại Yahoo Dot Com ¶ ¶ 8 năm trước
ccb_bc tại hotmail dot com ¶ ¶ 3 năm trước
60 61 Mike tại Eastghost Dot Com ¶ ¶ 7 năm trước 62 63 64 65 Nickshanks tại Nickshanks Dot Com ¶ ¶ 5 năm trước 66 67 68 69 Rob tại Librobert Dot Net ¶ 11 thàng trước "; } $a=5; calculate($a); echo $a; ?>0 "; } $a=5; calculate($a); echo $a; ?>1 "; } $a=5; calculate($a); echo $a; ?>2 "; } $a=5; calculate($a); echo $a; ?>3 "; } $a=5; calculate($a); echo $a; ?>4 "; } $a=5; calculate($a); echo $a; ?>5 65 Jason Steelman ¶ ¶ 2 năm trước "; } $a=5; calculate($a); echo $a; ?>7 "; } $a=5; calculate($a); echo $a; ?>8 65 PHPNet tại Holodyn dot com ¶ ¶ 8 năm trước 6 50 6 51 65 ccb_bc tại hotmail dot com ¶ ¶ 3 năm trước 6 53 6 54 6 55 6 56 6 57 6 58 Yiangforwork tại Gmail Dot Com ¶ ¶ 2 năm trước 6 59
65 Tianyiw tại VIP Dot qq dot com ¶ ¶ 1 năm trước
function foo(&$var) 7fdelizy tại net ret unreeze ¶ 16 năm trước
foo($a) 3Fladnag tại Zerezo Dot Com ¶ ¶ 5 năm trước
65 Không tại spam dot vui lòng ¶ ¶ 7 năm trước
65 Sergio Santana: Ssantana tại tlaloc dot imta dot mx ¶ ¶ 18 năm trước
function foo(&$var) 5Pillepop2003 tại Yahoo Dot de ¶ ¶ 17 năm trước
65 obkvresovl tại nospam dot hotmail dot com ¶ ¶ 17 năm trước
function foo(&$var) 5obkvresovl tại nospam dot hotmail dot com ¶ ¶ 5 năm trước
65 Có nghĩa là gì bằng cách vượt qua giá trị?Khi bạn sử dụng từng giá trị, trình biên dịch sẽ sao chép giá trị của đối số trong hàm gọi thành tham số không phải con trỏ hoặc không tham chiếu tương ứng trong định nghĩa hàm được gọi. Tham số trong hàm được gọi được khởi tạo với giá trị của đối số được truyền.the compiler copies the value of an argument in a calling function to a corresponding non-pointer or non-reference parameter in the called function definition. The parameter in the called function is initialized with the value of the passed argument.
Sự khác biệt giữa truyền qua giá trị và thông qua tham chiếu trong PHP là gì?Sự định nghĩa. Truyền bằng giá trị đề cập đến một cơ chế sao chép giá trị tham số hàm sang biến khác trong khi vượt qua tham chiếu đề cập đến một cơ chế truyền các tham số thực tế cho hàm. Do đó, đây là sự khác biệt chính giữa vượt qua giá trị và vượt qua tham chiếu.
Tài liệu tham khảo theo giá trị trong PHP là gì?Tham chiếu PHP là bí danh, cho phép hai biến khác nhau ghi vào cùng một giá trị.Trong PHP, một biến đối tượng không chứa chính đối tượng là giá trị.Nó chỉ chứa một định danh đối tượng cho phép người truy cập đối tượng tìm đối tượng thực tế.an alias, which allows two different variables to write to the same value. In PHP, an object variable doesn't contain the object itself as value. It only contains an object identifier which allows object accessors to find the actual object.
Tham số giá trị vượt qua là gì?Truyền theo giá trị có nghĩa là một bản sao của giá trị của tham số thực tế được thực hiện trong bộ nhớ, tức là người gọi và callee có hai biến độc lập có cùng giá trị.Nếu Callee sửa đổi giá trị tham số, hiệu ứng không thể nhìn thấy đối với người gọi.a copy of the actual parameter's value is made in memory, i.e. the caller and callee have two independent variables with the same value. If the callee modifies the parameter value, the effect is not visible to the caller. |