поиск значения в многомерном массиве и получение его пути в PHP

Это мой массив:

<code>$array = array (
'1' => array(
  'title' => 'Level1',
  'nodes' => array(
   '11' => array('title' => 'sub1_company1'),
   '12' => array('title' => 'sub2_company1'),
   '13' => array(
     'title' => 'sub3_company1',
     'nodes' => array(
       '131' => array('title' => 'item1_sub3_company1'),
       '132' => array('title' => 'item2_sub3_company1'),
      ),
    ),
  ),
),

'2' => array(
  'title' => 'Level2',
  'nodes' => array(
   '21' => array('title' => 'sub1_company2'),
   '22' => array('title' => 'sub2_company2'),
  ),
),

'3' => array(
  'title' => 'Level3',
  'nodes' => array(
   '31' => array('title' => 'sub1_company3'),
   '32' => array(
     'title' => 'sub2_company3',
     'nodes' => array(
       '321' => array('title' => 'item1_sub2_company3'),
       '322' => array(
          'title' => 'item2_sub2_company3',
          'nodes' => array(
            '3221' => array('title' => 'item1_sub3_company3'),
          ),
        ),
      ),
    ),
  ),
),
'4' => array('title' => 'Level4'),);
</code>

Что мне нужно, это найти sub2_company1 и получить заголовки, как хлебные крошки.

Уровень 1 & gt; sub2_company1

или если я буду искать item1_sub3_company1, я получу

Уровень 1 & gt; sub3_company1 & gt; item1_sub3_company1

То, что я сделал до сих пор, но не работает:

<code>    function breadcrumb($array, $needle) {
  $path = array();

  $array_iterator = new recursiveArrayIterator($array);
  $it = new recursiveIteratorIterator($array_iterator, RecursiveIteratorIterator::SELF_FIRST);

  foreach($it as $key => $value) 
  {
    echo "$key: $value <br>";
    if (!is_array($value)) {
      array_push($path, $value);
    }
    if ($value === $needle) {
      break;
    }
  }

  //$content = '<div id="breadcrumb">' . implode('&nbsp;&#62;&nbsp;', $path) . '</div>';

  return print_r($path, 1);
}
</code>

благодарю вас

Ответы на вопрос(1)

Ваш ответ на вопрос