У меня есть рекурсивная функция, определенная следующим образом
private function _buildPathwayRecurse(&$category, &$reversePathway = array()) {
$category->uri = FlexicontentHelperRoute::getCategoryRoute($category->id);
$reversePathway[] = $category;
if ($category->parent_id != 0) {
$category = $this->_getCatForPathway($category->parent_id);
$this->_buildPathwayRecurse($category, $reversePathway);
} else {
return $reversePathway;
}
}
и я так называю
$reversePathway = $this->_buildPathwayRecurse($category);
Однако $ reversePathway оказывается нулевым. Есть идеи, почему это так? Я прошел через мой код, используя XDebug, и, насколько я могу судить, все работает как надо. Когда я доберусь до линии
return $reversePathway
$ reversePathway выглядит идеально. Он сохраняется через вызовы функций и каждый раз получает новый элемент. прямо перед выполнением обратной строки у нее есть массив из нескольких элементов, как и должно быть, но к тому времени я получаю
$reversePathway = $this->_buildPathwayRecurse($category);
кажется, просто исчезнуть!