Задать вопрос
@xGreen_Max

Как вывести ключи и значения ассоциативного массива?

Есть многомерный ассоциативный массив, который хранит имя пользователя, его возраст и вес:

$users = [
  ['name' => 'Igor', 'age' => 19, "weight" => 45],
  ['name' => 'Danil', 'age' => 1, "weight" => 22],
  ['name' => 'Vovan', 'age' => 4, "weight" => 28],
];

Я не понимаю, что нужно написать в цикле, чтобы вывести все ключи и значения:

$result = [];

foreach ($users as ) {
  $result[] = ;
}

echo  implode("," , $result);

Вот такой результат должен выводить Echo:

name: Igor,  age: 19,  weight: 45
name: Danil,  age: 1,  weight: 22
name: Vovan,  age: 4,  weight: 28
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
0xD34F
@0xD34F
$arrToStr = fn($arr) => implode(', ', array_map(fn($v, $k) => "$k: $v", $arr, array_keys($arr)));
echo implode("\n", array_map($arrToStr, $users));
Ответ написан
@xGreen_Max Автор вопроса
Вот ребята, совершилось чудо.
Спустя 4 дня, я наконец-то смог понять, как это сделать.

C одним циклом.
$users = [
    ['name' => 'Mark', 'age' => 19, "weight" => 69],
    ['name' => 'John', 'age' => 27, "weight" => 78],
    ['name' => 'Sam',  'age' => 44, "weight" => 66],
    ['name' => 'Ethan','age' => 23, "weight" => 88]
];
     
foreach($users as  ['name' => $name, 'age' => $age, 'weight' => $weight]){
echo "<div class='xopa'> name:{$name} age:{$age} weight:{$weight} </div>";
}


С вложенным циклом:
foreach($users as  $items){
echo "<br>";

foreach($items as $index => $value){
echo "<div class='xopa'> {$index}:{$value} </div>";
}}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Думайте о том, что многомерный массив - это просто массив, состоящий из массивов. Соответственно, если хочется делать через циклы, то вложенных циклов будет столько же, сколько уровней вложенности в массиве. Но решение от 0xD34F - лаконичнее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы