array
(PHP 4, PHP 5)
array — Создать массив
Описание
Возвратить массив параметров. Параметры могут быть заданы с индексом при помощи оператора =>. См. раздел руководства array type для ознакомления с понятием массив.
Замечание: array() - это языковая конструкция для представления массивов, а не функция.
Синтакс "index => values", разделённые запятыми, определяет индексы и их значения. Индекс может быть строкой или целым числом. Если индекс опущен, будет автоматически сгенерирован числовой индекс, начиная с 0. Если индекс - число, следующим сгенерированным индексом будет число, равное максимальному числовому индексу + 1. Обратите внимание, что если определены два одинаковых индекса, последующий переназначит предыдущий.
Использование запятой после последнего определённого элемента массива, в отличие от обычного поведения, является приемлемым синтаксисом.
Последующие примеры демонстрируют создание двухмерного массива, определение ключей ассоциативных массивов и и способ генерации числовых индексов для обычных массивов, если нумерация начинается с произвольного числа.
Пример #1 Пример использования array()
<?php
$fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
?>
Пример #2 Автоматическая индексация array()
<?php
$array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13);
print_r($array);
?>
Результат выполнения данного примера:
Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 13 [4] => 1 [8] => 1 [9] => 19 )
Обратите внимание, что индекс '3' определён дважды, и содержит последнее значение 13. Индекс 4 определён после индекса 8, и следующий сгенерированный индекс (значение 19) - 9, начиная с максимального индекса 8.
Этот пример создаёт массив, нумерация которого начинаяется с 1.
Пример #3 array(), нумерация которого начинаяется с 1
<?php
$firstquarter = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>
Результат выполнения данного примера:
Array ( [1] => January [2] => February [3] => March )
Как и в Perl, вы имеете доступ к значениям массива внутри кавычек. Однако в PHP нужно заключить ваш массив в фигурные скобки.
Пример #4 Доступ к массиву внутри кавычек
<?php
$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!
?>
См. также array_pad(), list(), count(), foreach и range().
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Массивы
- array_change_key_case
- array_chunk
- array_column
- array_combine
- array_count_values
- array_diff_assoc
- array_diff_key
- array_diff_uassoc
- array_diff_ukey
- array_diff
- array_fill_keys
- array_fill
- array_filter
- array_flip
- array_intersect_assoc
- array_intersect_key
- array_intersect_uassoc
- array_intersect_ukey
- array_intersect
- array_key_exists
- array_keys
- array_map
- array_merge_recursive
- array_merge
- array_multisort
- array_pad
- array_pop
- array_product
- array_push
- array_rand
- array_reduce
- array_replace_recursive
- array_replace
- array_reverse
- array_search
- array_shift
- array_slice
- array_splice
- array_sum
- array_udiff_assoc
- array_udiff_uassoc
- array_udiff
- array_uintersect_assoc
- array_uintersect_uassoc
- array_uintersect
- array_unique
- array_unshift
- array_values
- array_walk_recursive
- array_walk
- array
- arsort
- asort
- compact
- count
- current
- each
- end
- extract
- in_array
- key_exists
- key
- krsort
- ksort
- list
- natcasesort
- natsort
- next
- pos
- prev
- range
- reset
- rsort
- shuffle
- sizeof
- sort
- uasort
- uksort
- usort
Коментарии
As of PHP 5.4.x you can now use 'short syntax arrays' which eliminates the need of this function.
Example #1 'short syntax array'
<?php
$a = [1, 2, 3, 4];
print_r($a);
?>
The above example will output:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
Example #2 'short syntax associative array'
<?php
$a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
print_r($a);
?>
The above example will output:
Array
(
[one] => 1
[two] => 2
[three] => 3
[four] => 4
)
I want to point smt important about accessing array value from within double quotes that didn't get mentioned in the article.
As article says you can access array values from within double quotes, using the curly braces syntax. However, you can also access it without curly braces and array access quotes:
$foo = array('bar' => 'baz');
echo "Hello $foo[bar]";
returns "Hello baz" with no error
Note: I didn't check for all of the PHP versions.