Возврат значения по ссылке
Posted in: Многофайловые сценарии PHP, By: admin, At: Январь 15th, 2008
Не волнуйтесь, если поначалу сценарий покажется непонятным. Ссылки — это одна из наиболее сложных для понимания концепций в РНР, потому требуется некоторая практика, чтобы разобраться в них.
Также следует отметить, что вы не должны передавать параметры по ссылке во время выполнении и а объявлении функции. Размещение ссылок в любом из этих двух случаев будет иметь один и тот же эффект. Единственная разница в том, что если пара метры-ссылки объявлены в самой функции, то при всех ее вызовах параметры будут передаваться по ссылке.
Наряду с передачей переменных в функции по ссылке, РНР поддерживает возвращаемые ссылочные переменные. В примере, представленном в листинге 1.29, эта концепция применяется для создания функции, возвращающей ссылку на базе значений переданных параметров.
Листинг 1.29. _
function &find_var(Sone, Stwo, Sthree) { if((Sone > 0) && ($one <= 10)) return Sone; if((Stwo > 0) U ($two <= 10)) return Stwo; if((Sthree > 0) && (Sthree <= 10)) return Sthree;
)
$c_one » ‘foo’; Sc_two = 42; $c_three = 4;
Sright_var = &find_var($c_one, $c_two, $c_three); $right_var++;
echo “Значение \Sc_three и \Sright_var равны: “; echo “Sc_three и $right_var
\n”;
Когда этот код выполняется, функция findjvar () определяет, какие из трех параметров находятся в диапазоне от 1 до 10, и возвращает ссылку на эту переменную, которая затем может быть привязана к переменной Sright var. В результате, когда Sright_var увеличивается, также будет увеличена только та переменная, которая соответствует требованиям (а именно — $c_three): Значение Sc_three и $right_var равны: 5 и 5.
Leave a Reply