PHP Поиск массива в многомерном массиве по значению ⇐ Php
PHP Поиск массива в многомерном массиве по значению
Мой многомерный массив
$userdb = массив( множество( 'имя' => '123', 'заказ' => '8875', множество( 'имя' => 'таблица', 'ширина' => '600', 'длина' => '400' ) ), множество( 'имя' => '124', 'заказ' => '9877', множество( 'искусство' => '024', множество( 'имя' => 'таблица', 'ширина' => '3258', 'длина' => '600' ) ) ) ); Задача. По слову «таблица» найдите массив, в котором она находится. Выведите эти простые массивы. При этом вложенность может быть бесконечно глубокой. Спасибо
Если вы используете Foreach, то вам необходимо указать степень вложенности массива. Что, если степень вложенности является динамической?
Я думаю, нам нужна комбинация функций, возможно, array_search и функция формирования нового массива
Я попытался преобразовать массив в простой. Но мне нужно найти ширину и длину.
$objTmp = (объект) array('aFlat' => array()); array_walk_recursive($userdb, function($v,$k,$t) { return $t->aFlat[] = $v;}, $objTmp); var_dump ($objTmp->aFlat); Я думал сначала найти ключ массива с помощью array_keys(), но функция ищет только внутри первого вложения
print_r(array_keys($userdb, "таблица")); Множество ( ) Ожидаемый результат
Массив ( множество( 'имя' => 'таблица', 'ширина' => '600', 'длина' => '400' ), множество( 'имя' => 'таблица', 'ширина' => '3258', 'длина' => '600' ) )
Мой многомерный массив
$userdb = массив( множество( 'имя' => '123', 'заказ' => '8875', множество( 'имя' => 'таблица', 'ширина' => '600', 'длина' => '400' ) ), множество( 'имя' => '124', 'заказ' => '9877', множество( 'искусство' => '024', множество( 'имя' => 'таблица', 'ширина' => '3258', 'длина' => '600' ) ) ) ); Задача. По слову «таблица» найдите массив, в котором она находится. Выведите эти простые массивы. При этом вложенность может быть бесконечно глубокой. Спасибо
Если вы используете Foreach, то вам необходимо указать степень вложенности массива. Что, если степень вложенности является динамической?
Я думаю, нам нужна комбинация функций, возможно, array_search и функция формирования нового массива
Я попытался преобразовать массив в простой. Но мне нужно найти ширину и длину.
$objTmp = (объект) array('aFlat' => array()); array_walk_recursive($userdb, function($v,$k,$t) { return $t->aFlat[] = $v;}, $objTmp); var_dump ($objTmp->aFlat); Я думал сначала найти ключ массива с помощью array_keys(), но функция ищет только внутри первого вложения
print_r(array_keys($userdb, "таблица")); Множество ( ) Ожидаемый результат
Массив ( множество( 'имя' => 'таблица', 'ширина' => '600', 'длина' => '400' ), множество( 'имя' => 'таблица', 'ширина' => '3258', 'длина' => '600' ) )
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить доступ к глубоко вложенному значению в многомерном массиве? [дубликат]
Anonymous » » в форуме Php - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-