Конструкция array(): объявление массивов в PHP

Раздел: PHP -> Функции PHP

Использование конструкции array() в PHP

Основной способ создания массива в PHP – использование конструкции array(). Она позволяет создать как индексированный (списковый), так и ассоциативный массив. Пример создания простого индексированного массива:

<?php
$numbers = array(1, 2, 3, 4, 5);
print_r($numbers);
?>

Php глобальные функции (глобальные функции в php)

Результат:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

функция return php (оператор return в функциях php)

Ключи автоматически назначаются, начиная с 0. Этот способ подходит для любых списков данных, где порядок важен.

Как создать пустой массив?

Для создания пустого массива достаточно вызвать array() без аргументов:

<?php
$empty = array();
var_dump($empty);
?>

передача функции php (передача функции в качестве аргумента в php)

array(0) {}

функция include php (подключение файлов с помощью include в php)

Пустые массивы часто используются как начальное значение для накопления данных.

Как создать ассоциативный массив?

Ассоциативный массив хранит пары «ключ => значение». Ключи могут быть строками или целыми числами:

<?php
$user = array('name' => 'Иван', 'age' => 30, 'city' => 'Москва');
print_r($user);
?>

написать функцию php (создание функции в php)

Array
(
    [name] => Иван
    [age] => 30
    [city] => Москва
)

статическая функция php (статические методы в php)

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

Значениями массива могут быть другие массивы:

<?php
$matrix = array(
    array(1, 2),
    array(3, 4),
    array(5, 6)
);
print_r($matrix);
?>

Php функции даты (функции даты в php)

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
        )
    [1] => Array
        (
            [0] => 3
            [1] => 4
        )
    [2] => Array
        (
            [0] => 5
            [1] => 6
        )
)

функции работы с массивом php (функции для работы с массивами в php)

Как задать числовые ключи вручную?

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

<?php
$custom = array(0 => 'a', 2 => 'b', 4 => 'c');
print_r($custom);
?>

функция array php (функция array() в php)

Array
(
    [0] => a
    [2] => b
    [4] => c
)

функция file php (функция file() в php)

Как комбинировать числовые и строковые ключи?

В одном массиве можно смешивать ключи разных типов:

<?php
$mixed = array('foo', 'bar' => 'baz', 42 => 'answer');
print_r($mixed);
?>

функция get php (функция get() в php)

Array
(
    [0] => foo
    [bar] => baz
    [42] => answer
)

Php proc open (функция proc_open в php)

Какой синтаксис предпочтительнее: array() или []?

Начиная с PHP 5.4, можно использовать короткий синтаксис []. Он функционально идентичен array() и часто короче. Выбор зависит от стандартов кодирования в проекте:

<?php
$arr1 = array(1, 2, 3);
$arr2 = [1, 2, 3];
var_dump($arr1 === $arr2);
?>

Php arguments (аргументы функций php)

bool(true)

Типичные проблемы и ошибки

  • Пропуск запятой между элементами приводит к синтаксической ошибке.
  • Попытка использовать array() как функцию (например, вызов array() внутри другого выражения без присваивания) недопустима – это конструкция, а не функция.
  • Если ключ не указан, PHP автоматически использует следующий целочисленный ключ на основе уже существующих целочисленных ключей, что может привести к неожиданным результатам при смешивании.
  • При смешивании строковых и целочисленных ключей ключ '0' эквивалентен 0 из-за приведения типов.
  • Попытка использовать array() для создания массива из строки (например, array('hello') vs str_split) – array() не разбивает строки.

Расширенные примеры использования array()

Пример 1: Создание и обход ассоциативного массива

Пример
<?php
$student = array(
    'name' => 'Анна',
    'grades' => array(5, 4, 5, 3)
);
foreach ($student as $key => $value) {
    if (is_array($value)) {
        echo $key . ': ' . implode(', ', $value) . PHP_EOL;
    } else {
        echo $key . ': ' . $value . PHP_EOL;
    }
}
?>
name: Анна
grades: 5, 4, 5, 3

Пример 2: Использование array() для построения дерева категорий

Пример
<?php
$categories = array(
    'electronics' => array(
        'laptops' => array('Dell', 'HP'),
        'phones' => array('iPhone', 'Samsung')
    ),
    'clothing' => array(
        'shirts' => array('T-shirt', 'Polo')
    )
);
print_r($categories);
?>
Array
(
    [electronics] => Array
        (
            [laptops] => Array
                (
                    [0] => Dell
                    [1] => HP
                )
            [phones] => Array
                (
                    [0] => iPhone
                    [1] => Samsung
                )
        )
    [clothing] => Array
        (
            [shirts] => Array
                (
                    [0] => T-shirt
                    [1] => Polo
                )
        )
)

Пример 3: Динамическое создание массива с помощью array() в цикле

Пример
<?php
$squares = array();
for ($i = 1; $i <= 5; $i++) {
    $squares[] = $i * $i;
}
print_r($squares);
?>
Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)

Здесь $squares[] добавляет элемент в конец массива. Это сокращение от array_push($squares, ...).

Пример 4: Использование array() с list() для присваивания

Пример
<?php
$data = array('Иван', 25, 'Москва');
list($name, $age, $city) = $data;
echo 'Имя: ' . $name . ', Возраст: ' . $age . ', Город: ' . $city;
?>
Имя: Иван, Возраст: 25, Город: Москва

Пример 5: Массив с отрицательными и нецелыми ключами

Пример
<?php
$weird = array(-10 => 'negative', 'a' => 'string', 3.5 => 'float');
print_r($weird);
?>
Array
(
    [-10] => negative
    [a] => string
    [3] => float
)

Ключ с плавающей точкой 3.5 преобразуется в целое 3.

Пример 6: Создание массива с помощью array() и передача в функцию

Пример
<?php
function sumArray($arr) {
    return array_sum($arr);
}
$numbers = array(10, 20, 30);
echo sumArray($numbers);
?>
60

Пример 7: Использование array() для преобразования отдельных переменных в массив

Пример
<?php
$a = 1;
$b = 2;
$c = 3;
$arr = array($a, $b, $c);
print_r($arr);
?>
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

Функция array() в PHP - comments

En
функция array php (php)