tôi đã viết đoạn mã sau:Tại sao lệnh gọi hàm bằng tham chiếu trong PHP không được chấp nhận?
<?php
$a1 = "WILLIAM";
$a2 = "henry";
$a3 = "gatES";
echo $a1." ".$a2." ".$a3. "<br />";
fix_names($a1, $a2, $a3);
echo $a1." ".$a2." ".$a3;
function fix_names(&$n1, &$n2, &$n3)
{
$a1 = ucfirst(strtolower(&$n1));
$a2 = ucfirst(strtolower(&$n2));
$a3 = ucfirst(strtolower(&$n3));
}
?>
Tôi nhận được thông báo này: Không dùng nữa: Gọi thời gian pass-by-reference đã bị phản đối
Tôi cần một lời giải thích lý do tại sao tôi lại nhận được thông báo này? Và tại sao trong phiên bản PHP 5.3.13, điều này đã không được chấp nhận?
http://stackoverflow.com/questions/4665782/call-time-pass-by-reference-has-been-deprecated?answertab=votes#tab-top –
Có lý do cụ thể nào khiến bạn sử dụng cuộc gọi thời gian qua-tham chiếu ở đây anyway? –
Đối với lý do tại sao (chỉ có một dự đoán): Gọi thời gian qua-tham khảo có thể dẫn đến hành vi bất ngờ nếu chức năng không mong đợi tài liệu tham khảo. –