BLACK FRIDAY

осталось 4 дня

Скидка 10% и подарок на выбор — при покупке одной программы
При покупке двух программ  — вторая со скидкой 50%

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

Ответы
Аватар пользователя Nikolai Gagarinov
Nikolai Gagarinov
30 ноября 2021

В PHP массив может принимать любые значения, в том числе и другие массивы, можно делать это с любым уровнем вложенности.

<?php

$a = [1, 2, 3, 4, 5];
$b = [
  [
    [
      'nested'
    ]
  ]
];
$data = [
  'a' => [
    'a1' => 123,
    'a2' => 'someValue',
  ],
  $b,
  $c,
];

var_dump($data);

//=> array(3) {
//=>   ["a"]=>
//=>   array(2) {
//=>     ["a1"]=>
//=>     int(123)
//=>     ["a2"]=>
//=>     string(9) "someValue"
//=>   }
//=>   [0]=>
//=>   array(5) {
//=>     [0]=>
//=>     int(1)
//=>     [1]=>
//=>     int(2)
//=>     [2]=>
//=>     int(3)
//=>     [3]=>
//=>     int(4)
//=>     [4]=>
//=>     int(5)
//=>   }
//=>   [1]=>
//=>   array(1) {
//=>     [0]=>
//=>     array(1) {
//=>       [0]=>
//=>       array(1) {
//=>         [0]=>
//=>         string(6) "nested"
//=>       }
//=>     }
//=>   }
//=> }
Аватар пользователя Аслан Аутлев
Аслан Аутлев
6 дней назад

Можно создать массив с помощью встроенных функции PHP: array_fill() или range()

Подробнее: Как заполнить php массив значениями

Пример:

<?php

$array = [];

$collectionNumber = array_fill(1, 5, 1);

$collectionChars = range("a","d");

$array = [$collectionNumber, $collectionChars];

print_r($array); // [[1, 1, 1, 1, 1], ['a', 'b', 'c', 'd']]

Еще один способ — воспользоваться синтаксисом для работы с массивами в PHP.

Определение при помощи языковой конструкции array() или [] - короткий вариант записи массива.

<?php

$array = array(
    1 => 1,
    2 => 2,
);

$array = [
    1 => "a",
    2 => "b",
];

Добавление элементов в массив с помощью короткого синтаксиса [].

<?php

$array = [];

$array[] = 1; 

print_r($array); // [0 => 1];

$array['key'] = 'value'; 

print_r($array); // [0 => 1, 'key' => 'value'];

Добавлять в массив в качестве значения можно любой тип данных.

<?php

$array = [];

$subArray1 = [10, 20, 30];

$array[] = $subArray1;

$subArray2 = [40, 50, 60];

$array[] = $subArra2;

print_r($array); // [[10, 20, 30], [40, 50, 60]]
Добавьте ваш ответ

Рекомендуемые курсы

утверждения
PHPUnit
юнит-тесты
покрытие кода
13 часов
Посмотреть
ORM
шаблонизация (blade)
роутинг
контроллеры
20 часов
Посмотреть
пространства имен
импорты
ссылки
включения файлов
52 часа
Посмотреть