Рекурсивная функция PHP не возвращает значение

Я что-то упускаю? При попытке реализовать алгоритм я не могу получить возвращаемое значение для функции. Первоначально, пытаясь вернуть массив, с которым я столкнулся, простые типы не будут работать.

ПРИМЕЧАНИЕ. Это упрощенная версия, чтобы проиллюстрировать эту точку. Я знаю, что для иллюстрированного кода можно использовать нечто вроде print_r (array_map (function ($ x) {return $ x + 2;}, array (2, 4, 6, 8))); но это не будет сделано в полной проблеме.

И на вопрос. У меня есть следующий код:

function recursive1($myArray, $accumulator){ if(empty($myArray)){ return $accumulator; } else { recursive1(array_slice($myArray, 1), $accumulator+1); } } $testArray = array(3, 5, 7, 9); print("->".recursive1($testArray,10)."<-\n"); 

Получение нуля в результате

 (output) -><- 

Добавление немного, чтобы увидеть внутренности, которые у меня есть

 function recursive1($myArray, $accumulator){ if(empty($myArray)){ print("[".$accumulator."]\n"); // End result return $accumulator; } else { print("<".$accumulator.">"); // partial results recursive1(array_slice($myArray, 1), $accumulator+1); } } $testArray = array(3, 5, 7, 9); print("->".recursive1($testArray,10)."<-\n"); 

Я получаю, что функция, которую он выполняет, что она предполагает, но возвращаемое значение теряется.

 (output) <10><11><12><13>[14] -><- 

Поэтому я должен был

 (output) ->14<- 

Кстати, я использую

 >php -version PHP 5.5.30 (cli) (built: Oct 23 2015 17:21:45) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0 Copyright (c) 1998-2015 Zend Technologies 

Я также попытался присвоить значение переменной (вне функции) безрезультатно.

Есть идеи? 🙂