Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Разбор многоуровневого масива


Автор: YuraKo 23.1.2010, 15:56
Здраствуйте, есть многоуровневый ассоциативный масив из которого нужно вытянуть все елементы например с индексом 'Характеристика', подскажите как это можно сделать, возможно можно использовать стандартную php функцию для работы с масивами.......

Автор: ruX 23.1.2010, 16:27

Код

function recarray($ar, $searchfor) {
    static $result = array();

    foreach($ar as $k => $v) {
    if ($k == $searchfor) $result[] = $v;
        if (is_array($ar[$k]))  recarray($v, $searchfor);
    }
    return $result;
}

$tst = array (
  'bob' => 'Bob MEN',
  'google' => array (
      'somekey' => 'somevalue',
      'bob'    => 'big man'
  ),
  'martin' => array(
      'bob'    => array(
      'friend' => true,
      'age'    => 100500),
      'cat'    => 'animal'
  )
);

$result = recarray($tst, 'bob');

print_r($result);


результат:
Код

Array
(
    [0] => Bob MEN
    [1] => big man
    [2] => Array
        (
            [friend] => 1
            [age] => 100500
        )

)


прочитайте про рекурсивные функции и foreach

Автор: Simpliest 23.1.2010, 17:49
http://php.net/array_walk_recursive

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)