Gọi theo tham chiếu là tất cả về việc chuyển tham chiếu của biến dưới dạng tham số hàm. Vì PHP không hỗ trợ trực tiếp loại cơ chế con trỏ nên nó hỗ trợ một tham chiếu để xử lý các hoạt động khác nhau. Trong ngôn ngữ PHP, giá trị thực của biến đang nắm giữ đó sẽ bị sửa đổi nếu giá trị bên trong bất kỳ hàm nào bị sửa đổi; . Ký hiệu dấu và [&] có thể được sử dụng làm tiền tố trong khi chuyển một biến làm tham chiếu trong lệnh gọi là tham chiếu. Bản thân biểu tượng & thể hiện rằng một biến đang được sử dụng làm tham chiếu. Hàm tham chiếu cũng có thể được truyền dưới dạng tham số cho hàm khác. Trong chủ đề này, chúng ta sẽ tìm hiểu về PHP Call by Reference
Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]
Giá
Xem khóa học
600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [85.014 xếp hạng]
cú pháp
Không có cú pháp đặc biệt nào để sử dụng cái này, nhưng có, dấu & cần được sử dụng khi truyền tham số cho hàm
Bắt đầu khóa học phát triển phần mềm miễn phí của bạn
Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác
Khai báo chức năng có thể như dưới đây
function callByref[&$var]
{
$var.= 'inside the Call By Reference function.';
}
Không cần bất kỳ điều đặc biệt nào trong khi gọi chức năng này;
$var = 'Yes, I am';
callByref [$var];
Gọi theo tham chiếu hoạt động như thế nào trong PHP?
Trước khi tiếp tục với hoạt động của cuộc gọi theo tham chiếu, cần phải có các yêu cầu để có thể được trang bị cho một chức năng. Khi đó, trong phần khai báo của hàm xác định đó, chúng ta có thể sử dụng dấu tham chiếu đến một biến tham số. Hãy hiểu điều tương tự với một ví dụ nhanh
function callByref[&$var]
{
$var.= 'Call By Reference function.';
}
$var = 'Try to check the reference, I am inside the ';
Khi chúng tôi cố gắng in $var ở đây, điều này sẽ hiển thị thông báo trên
echo $var;
// printing variable before calling function
Gọi hàm bây giờ, gọi hàm này sẽ sửa đổi giá trị thực của biến
$var theo văn bản bên trong hàm
callByref [$var];
echo $var;
// this will be print the combined value of the string.
Trong ngôn ngữ PHP được đề cập dưới đây có thể được sử dụng như một cuộc gọi theo tham chiếu
- Biến - một biến bình thường
- Hàm trả về tham chiếu – một hàm được xác định rõ trả về tham chiếu cũng có thể được truyền dưới dạng tham số hàm trong lệnh gọi theo tham chiếu [xem ví dụ E3]
Ví dụ về cuộc gọi theo tham chiếu
Các ví dụ khác nhau được đề cập dưới đây
Ví dụ 1
Một chương trình đơn giản sử dụng lệnh gọi tham chiếu để kiểm tra bản chất của hàm này. Trong đó, chúng ta có thể kiểm tra giá trị thực đang được sửa đổi sau khi sử dụng lệnh gọi theo tham chiếu và sửa đổi biến từ bên trong hàm
Mã số
đầu ra
Ví dụ #2
Một mã ví dụ đang phân biệt cuộc gọi theo giá trị và cuộc gọi theo tham chiếu trong PHP
Mã số
đầu ra
Như chúng ta có thể thấy trong ví dụ trên, call-by-swap sẽ không hoạt động nếu chúng ta in giá trị của a và b bên ngoài hàm đó. Điều này là do cuộc gọi theo giá trị không thay đổi bản sao thực tế của biến. Nhưng trong cuộc gọi theo tham chiếu, chúng ta có thể thấy rằng chúng ta đang in giá trị của a và b ngay sau khi gọi hàm đó và hoán đổi hoạt động tốt. Đây là tất cả trong khi chúng ta sẽ xử lý các chức năng hoán đổi với cuộc gọi theo giá trị và cuộc gọi theo tham chiếu
Ví dụ #3
Mã số
đầu ra
Trong ví dụ trên, chúng ta có thể thấy rằng một hàm tham chiếu FunctionAsAParam[] được sử dụng như một tham số hàm khác. Theo mã được viết bên trong này, nó gán giá trị của biến chính. Hàm mainFunction[] là hàm chính của đoạn mã trên, đang tăng giá trị của giá trị sau khi sử dụng FunctionAsAParam[] làm tham số hàm tham chiếu. Có nhiều cách khác nhau để chúng ta có thể sử dụng hàm làm tham số tham chiếu
Phần kết luận
Gọi theo tham chiếu sử dụng ký hiệu & trong tham số tại thời điểm tạo, không phải lúc gọi hàm này. Trong ngôn ngữ C hoặc C++, nó thường được sử dụng tại thời điểm gọi hàm này, không giống như PHP. Cuộc gọi PHP theo tham chiếu là tất cả về việc tạo hoặc gọi một hàm sửa đổi bản sao thực của biến. Do đó, không có dấu hiệu tham chiếu nào được yêu cầu tại thời điểm gọi theo ý muốn đưa ra lỗi trong PHP
Bài viết được đề xuất
Đây là hướng dẫn về PHP Call by Reference. Ở đây chúng ta thảo luận về giới thiệu, cú pháp và hoạt động của lệnh gọi theo tham chiếu trong PHP cùng với các ví dụ khác nhau và triển khai mã. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –