Fortop
Новичок
Вызывается 1-я функция, обрабатывает переменные - из нее вызывается 2-я функция и тоже обрабатывает эти же переменные - из 2-й вызывается 3-я...и т.д. по лесенке. А потом понадобилось опять обработать эти переменные 2-й функцией, но без вызова 3-й и последующих... что тогда?
PHP:
$varFunc1 = func1($varRaw);
$varFunc2 = func2($varFunc1);
$varFunc3 = func3($varFunc2);
$varSkiped = func3($varRaw);
// а можно и так
$varFunc3 = func3(func2(func1($varRaw)));
$varSkiped = func3($varRaw);
Вопрос передачи по ссылке не должен тебя волновать до тех пор пока ты не поймешь насколько плохо иметь сотни переменных в глобальной области видимости.
-~{}~ 06.03.10 04:01:
Можно использовать многомерные массивыА как сделать, чтобы функция вернула, например две переменных и один массив?
PHP:
$data = array($var, $var2, array(еще что-нибудь));
Но можно использовать и объект
PHP:
function func1() {
$obj = new StdClass();
$obj->var1 = $var1;
$obj->var2 = $var2;
$obj->arr1 = array($var1, $var2);
return $obj;
}
Я начинал писать на Assembler'e,где все регистры микропроцессора ВСЕГДА глобальны для ВСЕГО кода и так намучился с этими PUSHами и POPами в начале и конце подпрограммы,что начав использовать PHP и увидев понятие области видимости переменной,был не огорчен,а наоборот,приятно удивлен.Это как зарядка по утрам (или чистка зубов) :неудобства от нее небольшие и большей мере кажущиеся,но избавляет от многих будущих гораздо более серьезных проблем и неудобств