@glebe

Допустимо ли создавать массивы в php без части элементов?

Как правильно написать?

Так:
array(, $array); // [,[]]

Или так:
array($array_1, $array_2);
unset($array_1);

Или оба варианта допустимы?

Или всё же верный вариант такой:
array(array(), $array);

Какой из вариантов наиболее правильный и почему именно он?
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
Если при создании массива пропускать параметры в начале или в конце, то PHP выдаст ошибку Fatal error.

Вы можете удалять элементы массива при помощи unset(), указав в аргументах функции имя массива с номером или ключом.
Пример

$arr_1 = array(
    "string 1",
    "string 2",
    "string 3"
);
$arr_2 = array(
    "key_1" => "value 1",
    "key_2" => "value 2",
    "key_3" => "value 3"
);

unset($arr_1[1], $arr_2["key_2"]);

print_r($arr_1); // Array ( [0] => string 1 [2] => string 3 )
print_r($arr_2); // Array ( [key_1] => value 1 [key_3] => value 3 )


Если при создании массива вам для чего-то нужно пропустить один из его параметров, то можете написать вместо параметра null.
$arr = array($arr_1, null, $arr_2);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Immortal_pony
@Immortal_pony Куратор тега PHP
В php ключи массива могут быть любыми.
Можете сразу создавать с нужными ключами
$myArray = [
    1 => $array2
];
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы