получение суммарных массивов счетчиков многомерного массива

Мне интересно, есть ли простой способ получить количество вложенных массивов внутри одного многомерного массива. Вот простой пример.

$a = array ( 'x' => array ( 0 => 'a', 1 => 'b', 2 => 'c', 'text' => array ( 0 => 'foo', 1 => 'bar', 2 => 'tar', ), 3 => array ( 'color' => array ( 0 => 'red', 1 => array ( 0 => 'blue', 1 => array ( 'yellow' => array ( 'name' => 'john', 0 => 'doe', 1 => array ( 0 => 'jane', ), ), ), ), ), ), ), ); 

count() будет только эхо- 1 . Я могу сделать цикл foreach, в конечном итоге получить правильное значение, но я не уверен, если кто-то может сделать лучше. А именно, используя SPL / Итераторы.