Мне нужна функция/класс-метод, которая находит элемент в массиве (с помощью другого массива, содержащего местоположение указанного элемента) и возвращает ссылку на него.Функция, которая принимает ссылку на массив, ищет массив и возвращает ссылку на результат поиска?
Чтобы не напрасно я пытался это сделать так:
$var = array("foo" => array("bar" => array("bla" => "goal")));
$location = array("foo", "bar", "bla");
...
$ref =& $this->locate($var, $location);
...
private function &locate(&$var, $location) {
if(count($location))
$this->locate($var[array_shift($location)], $location);
else
return $var;
}
Функция выше успешно находит «цель», но ссылка не возвращается $ реф вместо $ исх пуст.
Любая помощь очень ценится, это серьезно мешает мне завершить мою работу. Спасибо.
Аргументы оцениваются перед вызовом функции, поэтому это не проблема, когда аргументы мутируют выражения (действительно, когда они имеют какие-либо побочные эффекты). – outis
Огромное вам спасибо, я полностью забыл об этом. Я в твоем долгу! – Ozonic