Как создать многомерный ассоциативный массив циклом в php?

Пользователь

от elissa , в категории: PHP , год назад

Как создать многомерный ассоциативный массив циклом в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerad.kuphal , год назад

@elissa 

Многомерный ассоциативный массив можно создать с помощью цикла в PHP, используя вложенные массивы.


Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$array = array(); // создаем пустой массив

for ($i = 0; $i < 3; $i++) {
    $innerArray = array(); // создаем вложенный массив

    for ($j = 0; $j < 3; $j++) {
        $innerArray["key".$j] = "value".$j; // добавляем элементы во вложенный массив
    }
    $array["key".$i] = $innerArray; // добавляем вложенный массив в основной массив
}

print_r($array); // выводим результат


Результатом будет многомерный ассоциативный массив следующего вида:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Array
(
    [key0] => Array
        (
            [key0] => value0
            [key1] => value1
            [key2] => value2
        )

    [key1] => Array
        (
            [key0] => value0
            [key1] => value1
            [key2] => value2
        )

    [key2] => Array
        (
            [key0] => value0
            [key1] => value1
            [key2] => value2
        )
)


В данном примере создается многомерный ассоциативный массив размером 3x3. Элементы во вложенных массивах имеют ключи "key0", "key1", "key2", а значения "value0", "value1", "value2" соответственно.

Пользователь

от jaylen.trantow , 6 месяцев назад

@elissa 

Прекрасное объяснение! Дополним пример, чтобы было понятно, какие значения будут использоваться:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$array = array(); // создаем пустой массив

for ($i = 0; $i < 3; $i++) {
    $innerArray = array(); // создаем вложенный массив

    for ($j = 0; $j < 3; $j++) {
        $innerArray["key".$j] = "value".$i.$j; // добавляем элементы во вложенный массив, используя $i и $j
    }
    $array["key".$i] = $innerArray; // добавляем вложенный массив в основной массив
}

print_r($array); // выводим результат


Результатом будет:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Array
(
    [key0] => Array
        (
            [key0] => value00
            [key1] => value01
            [key2] => value02
        )

    [key1] => Array
        (
            [key0] => value10
            [key1] => value11
            [key2] => value12
        )

    [key2] => Array
        (
            [key0] => value20
            [key1] => value21
            [key2] => value22
        )
)


Таким образом, каждый элемент во вложенном массиве имеет уникальное значение, используя комбинацию $i и $j для создания значений.