поиск значения в многомерном массиве и получение его пути в 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(' > ', $path) . '</div>'; return print_r($path, 1); } </code>
благодарю вас