Стандартная функция для php перебор массива. Массив в задаче ассоциативный. В общем стандартная задача по нахождению элементов в массиве методом перебора. Трюк в том, что при обходе очередного уровня массива задать «человеческое название ключу» — в примере вложенность выше чем два, но мне кажется для понимания сути хватит и этой.
Задача.
В процессе выполнения кода образуется массив с данными, которые очевидно приходят из базы данных либо о клиентах, либо о пользователях сайта. Посмотрите код ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# code... $big_array = [ [ 0=>[ name => 'Muaz', email => 'tintin@gmail.com', id => 29 ], 1=>[ name => 'Himel', email => 'brochure@gmail.com', id => 29 ], 2=>[ name => 'Raj', email => 'tiasedntin@gmail.com' ] ] ]; |
Видите последний элемент массива отличается от [0] и [1] тем, что не содержит элемент [id]. Нужно добавить в него и похожие, если они встретятся этот элемент и присвоить ему случайное значение от 18 до 55.
Решение.
1 2 3 4 5 6 7 8 |
# code... foreach ($big_array as $key1 => $level1) { foreach ($level1 as $key2 => $level2) { if(!isset($level2[id])){ $big_array[$key1][$key2][id] = rand(18,55); } } } |
Похожие записи: