Hướng dẫn what is difference between call by value and call by reference in php? - sự khác biệt giữa call by value và call by reference trong php là gì?
Show
Trong các ngôn ngữ lập trình, các chức năng có thể được gọi theo hai cách: được gọi là cuộc gọi theo giá trị và cuộc gọi theo tham chiếu. Phương thức gọi theo giá trị là gì?Gọi theo phương thức giá trị sao chép giá trị của một đối số vào tham số chính thức của hàm đó. Do đó, các thay đổi được thực hiện đối với tham số của hàm chính không ảnh hưởng đến đối số. Trong phương thức chuyển tham số này, các giá trị của các tham số thực tế được sao chép vào các tham số chính thức của hàm và các tham số được lưu trữ ở các vị trí bộ nhớ khác nhau. Vì vậy, bất kỳ thay đổi nào được thực hiện trong các chức năng bên trong không được phản ánh trong các tham số thực tế của người gọi. Phương thức gọi bằng phương pháp tham chiếu là gì?Gọi theo phương thức tham chiếu sao chép địa chỉ của một đối số vào tham số chính thức. Trong phương thức này, địa chỉ được sử dụng để truy cập đối số thực tế được sử dụng trong lệnh gọi hàm. Nó có nghĩa là những thay đổi được thực hiện trong tham số thay đổi đối số vượt qua. Trong phương pháp này, phân bổ bộ nhớ giống như các tham số thực tế. Tất cả các hoạt động trong hàm được thực hiện trên giá trị được lưu trữ tại địa chỉ của tham số thực tế và giá trị sửa đổi sẽ được lưu trữ tại cùng một địa chỉ. C ví dụ mã của một cuộc gọi theo phương thức giá trịvoid main() { int a = 10, void increment(int); Cout << "before function calling" << a; increment(a); Cout << "after function calling" << a; getch(); void increment(int x) { int x = x + 1; Cout << "value is" << x; } Output: before function calling 10 value is 11 after function calling 1-0 Bởi vì biến được khai báo ‘a Khănin Main () khác với biến‘ X, trong tăng (). Trong chương trình này, chỉ có tên biến tương tự nhau, nhưng địa chỉ bộ nhớ của chúng là khác nhau và được lưu trữ ở các vị trí bộ nhớ khác nhau. Ví dụ về mã Java của một cuộc gọi theo phương thức tham chiếuPublic static void main(string args[]) { int a = 10; System.out.println("Before call Value of a = ", a); Void increment(); System.out.println("After call Value of a = ", a); } Void increment(int x) { int x = x + 1; } Output: Before call Value of a =10 After call Value of a =11 Bởi vì biến được khai báo ’một trong đó đang tham khảo/ trỏ đến biến’ a, trong main (). Ở đây tên biến là khác nhau, nhưng cả hai đều chỉ/tham chiếu đến cùng các vị trí địa chỉ bộ nhớ.
Ưu điểm của việc sử dụng phương thức gọi bằng giá trị trong cƯu điểm/lợi ích của cuộc gọi theo giá trị trong c:
Ưu điểm của việc sử dụng phương thức gọi bằng phương pháp tham chiếuƯu điểm của việc sử dụng phương pháp gọi bằng phương pháp tham chiếu:
Nhược điểm của việc sử dụng phương thức CALL theo giá trịỞ đây, là những nhược điểm chính/nhược điểm của một cuộc gọi theo phương thức giá trị:
Nhược điểm của việc sử dụng phương thức cuộc gọi bằng phương thức tham chiếuỞ đây, là những nhược điểm chính của việc sử dụng phương thức gọi theo phương pháp tham chiếu:
Cuộc gọi theo giá trị và cuộc gọi bằng cách tham khảo trong PHP với ví dụ là gì?PHP cho phép bạn gọi chức năng theo giá trị và tham chiếu cả hai. Trong trường hợp gọi PHP theo giá trị, giá trị thực tế không được sửa đổi nếu nó được sửa đổi bên trong hàm. Hãy hiểu khái niệm về cuộc gọi theo giá trị bằng sự trợ giúp của các ví dụ.. In case of PHP call by value, actual value is not modified if it is modified inside the function. Let's understand the concept of call by value by the help of examples.
Cuộc gọi theo giá trị và cuộc gọi theo giá trị tham chiếu là gì?Gọi theo giá trị. Gọi bằng cách tham khảo. Trong khi gọi một hàm, chúng tôi truyền các giá trị của các biến cho nó. Các chức năng như vậy được gọi là cuộc gọi của các giá trị. Trong khi gọi một hàm, thay vì truyền các giá trị của các biến, chúng tôi chuyển địa chỉ của các biến (vị trí của các biến) cho hàm được gọi là cuộc gọi của các tài liệu tham khảo.While calling a function, we pass values of variables to it. Such functions are known as “Call By Values”. While calling a function, instead of passing the values of variables, we pass address of variables(location of variables) to the function known as “Call By References.
Sự khác biệt giữa cuộc gọi theo giá trị và cuộc gọi bằng cách tham khảo cho một ví dụ là gì?Trong cuộc gọi theo giá trị, một bản sao của biến được truyền, trong khi trong cuộc gọi theo tham chiếu, một biến được truyền. Trong cuộc gọi theo giá trị, các đối số thực tế và chính thức sẽ được tạo ở các vị trí bộ nhớ khác nhau, trong khi trong cuộc gọi bằng tham chiếu, các đối số thực tế và chính thức sẽ được tạo ở cùng một vị trí bộ nhớ.. In Call by value, actual and formal arguments will be created in different memory locations, whereas in Call by reference, actual and formal arguments will be created in the same memory location.
Cuộc gọi bằng cách tham khảo trong PHP là gì?Trong trường hợp cuộc gọi PHP bằng tham chiếu, giá trị thực được sửa đổi nếu nó được sửa đổi bên trong hàm.Trong trường hợp như vậy, bạn cần sử dụng & biểu tượng (ampersand) với các đối số chính thức.& Đại diện cho tham chiếu của biến.Hãy hiểu khái niệm cuộc gọi bằng cách tham khảo bằng sự trợ giúp của các ví dụ.actual value is modified if it is modified inside the function. In such case, you need to use & (ampersand) symbol with formal arguments. The & represents reference of the variable. Let's understand the concept of call by reference by the help of examples. |