Могли бы разъяснить что значит &(амперсант) перед функцией, для чего он?
Например, function &myFunc($arg, $arg2) {}
[php] &(амперсант) перед функцией
Может быть, вы имели в виду "function myFunc(&$arg, &$arg2) {}"?
Амперсанд перед именем функции никогда не встречал, а вот амперсанд перед параметром - да, бывает. Разница в том, что переменные с амперсандом берутся по ссылке, а без него - по значению. Иначе говоря, изменение переменной с амперсандом внутри функции, повлияет на ее значение вне.
Амперсанд перед именем функции никогда не встречал, а вот амперсанд перед параметром - да, бывает. Разница в том, что переменные с амперсандом берутся по ссылке, а без него - по значению. Иначе говоря, изменение переменной с амперсандом внутри функции, повлияет на ее значение вне.
Код: Выделить всё
function fun1($arg) {$arg++; return arg;}
function fun2(&$arg) {$arg++; return arg;}
$arg=10;
echo fun1($arg);//Выведет 11
echo $arg; //Выведет 10 - изменение переменной внутри функции не повлияло на значение исходной переменной
echo $fun2($arg); //Выведет 11
echo $arg;//Выведет 11
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
нет иммено перед названием функции, например, в joomla cms 1.5
Возвращается ссылка на переменную. Вызывать функцию надо тоже с амперсандом.