Rozważmy następujący kod PHP:Co "&" oznacza tutaj w PHP?
call_user_func(array(&$this, 'method_name'), $args);
wiem, to znaczy przejść przez odwołanie podczas definiowania funkcji, ale jest to po wywołaniu funkcji?
Rozważmy następujący kod PHP:Co "&" oznacza tutaj w PHP?
call_user_func(array(&$this, 'method_name'), $args);
wiem, to znaczy przejść przez odwołanie podczas definiowania funkcji, ale jest to po wywołaniu funkcji?
To jest przejazd referencyjny.
Od strony Passing By Reference docs:
Możesz przekazać zmienną przez odniesienie do funkcji tak funkcja może zmodyfikować zmienną. Składnia jest następująco:
<?php
function foo(&$var)
{
$var++;
}
$a=5;
foo($a);
// $a is 6 here
?>
... W ostatnich wersjach PHP będzie dostać ostrzeżenie, że "call-czas pass-by-reference" jest przestarzała gdy cię użyj & w foo (& $ a);
Czy mam rację, sądząc, że nie ma już zastosowania w PHP 5? –
Wiem, że to oznacza odwołanie podczas definiowania funkcji, ale czy jest to podczas wywoływania funkcji? – omg
@Jeśli masz rację, jest przestarzałe. – alex