2009-06-17 29 views
12

considerare questo codice PHP:Che cosa significa "&" qui in PHP?

call_user_func(array(&$this, 'method_name'), $args); 

so che significa pass-by-di riferimento al momento di definire le funzioni, ma è vero quando si chiama una funzione?

risposta

0

È un pass-by-reference.

+2

Ho ragione nel pensare che non si applica più da PHP 5 in poi? –

+0

So che significa pass-by-reference quando si definiscono le funzioni, ma è quando si chiama una funzione? – omg

+0

@Se sei corretto, è stato deprecato. – alex

7

Dalla pagina Passing By Reference documenti:

È possibile passare una variabile per riferimento ad una funzione modo la funzione può modificare la variabile. La sintassi è la seguente :

<?php 
function foo(&$var) 
{ 
    $var++; 
} 

$a=5; 
foo($a); 
// $a is 6 here 
?> 

... Nelle versioni recenti di PHP si ottenere un avvertimento dicendo che "call-time pass-by-reference" è deprecato quando si utilizzare & in foo (& $ a);