PHP Поиск массива в многомерном массиве по значению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' ) )
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»