Цикл и вставка переменных в PHP

Вставку переменных в строки также удобно проделывать в циклах:

<?php for ($i = 1; $i <= 5; $i++) { echo "xxx $i yyy"; } ?>

Упростите следующий код:

<?php for ($i = 1; $i <= 10; $i++) { for ($j = 1; $j <= 10; $j++) { echo 'nums: ' . $i . ' ' . $j . '<br>'; } } ?>

Массивы

Можно также вставлять элементы при переборе массивов циклом:

<?php $arr = [1, 2, 3, 4, 5]; foreach ($arr as $elem) { echo "xxx $elem yyy"; } ?>

Упростите следующий код:

<?php $arr = ['a' => 1, 'b' => 2, 'c' => 3]; foreach ($arr as $key => $elem) { echo 'pair: ' . $elem . ' ' . $key . '<br>'; } ?>

Многомерные массивы

Давайте посмотрим, как выполняются вставки при переборе многомерных массивов. Пусть, к примеру, у нас есть вот такой массив:

<?php $users = [ [ 'name' => 'user1', 'age' => 30, ], [ 'name' => 'user2', 'age' => 31, ], [ 'name' => 'user3', 'age' => 32, ], ]; ?>

Давайте переберем его циклом и сформируем строки из его элементов:

<?php foreach ($users as $user) { echo $user['name'] . ': ' . $user['age'] . '<br>'; } ?>

Упростим наш код, используя вставки переменных:

<?php foreach ($users as $user) { echo "{$user['name']}: {$user['age']}<br>"; } ?>

Упростим еще больше, убрав кавычки с ключей:

<?php foreach ($users as $user) { echo "$user[name]: $user[age]<br>"; } ?>

Дан следующий массив:

<?php $products = [ [ 'name' => 'product1', 'price' => 100, 'amount' => 5, ], [ 'name' => 'product2', 'price' => 200, 'amount' => 6, ], [ 'name' => 'product3', 'price' => 300, 'amount' => 7, ], ]; ?>

Выведите с помощью этого массива столбец продуктов в каком-нибудь придуманном вами формате.