Массив может быть инициализирован до его использования в программе.
Например, используя ключевое слово - array
Используя разделители - []
Используя функцию list()
Или динамически, во время выполнения программы. При этом назначение индексов элементов может производиться автоматически (в примере ниже индексы присвоятся от 0 до 3):
или - явно, вручную:
Для распечатки массива удобно использовать PHP - функции:
var_dump(); print_r()
Например:
В таком массиве индекс каждого элемента - цифровой. По-умолчанию PHP нумерует элементы массивов, начиная с 0. То есть: индексы масива, состоящего из элементов - 0,1,2 .
Распечатать значение третьего элементв массива можно, например, используя синтаксис:
Результат - Март.
В ассоциативном массиве - индексами являются имена.
Команда:
выводит на печать - 43
Это массив, каждый эдемент которого является также массивом.
Например - массив:
Команда:
выводит на печать - Ivan
Для обработки элементов массива часто используюися циклы (loops ).
Например:
Функция | Описание | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
array() | Создать массив$cars = array("Volvo", "BMW", "Toyota"); | ||||||||||||
array_change_key_case() | Изменить регистр ключей массива $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); print_r(array_change_key_case($age,CASE_UPPER)); |
||||||||||||
array_chunk() | Делит массив на куски $cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel"); print_r(array_chunk($cars,2)); |
||||||||||||
array_column() | Создаёт массив - колонку исходного массива // An array that represents a possible record set returned from a database $a = array( array( 'id' => 5698, 'first_name' => 'Peter', 'last_name' => 'Griffin', ), array( 'id' => 4767, 'first_name' => 'Ben', 'last_name' => 'Smith', ), array( 'id' => 3809, 'first_name' => 'Joe', 'last_name' => 'Doe', ) ); $last_names = array_column($a, 'last_name'); print_r($last_names); ?> Результат: Array ( [0] => Griffin [1] => Smith [2] => Doe ) |
||||||||||||
array_combine() | Создаёт новый массив, используя элементы первого массива в качестве индексов, второго - в качестве значений $fname=array("Peter","Ben","Joe"); $age=array("35","37","43"); $c=array_combine($fname,$age); print_r($c); ?> Результат: Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 ) |
||||||||||||
array_count_values() | Считает количество элементов массива | ||||||||||||
array_diff() | Сравнивает значения элементов массивов, возвращает результат сравнения - разницу между ними $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("e"=>"red","f"=>"green","g"=>"blue"); $result=array_diff($a1,$a2); print_r($result); ?> Результат: Array ( [d] => yellow ) |
||||||||||||
array_diff_assoc() | Сравнивает значения и элементов и индексов массивов, возвращает результат сравнения - разницу между ними | ||||||||||||
array_diff_key() | Compare arrays, and returns the differences (compare keys only) | ||||||||||||
array_diff_uassoc() | Compare arrays, and returns the differences (compare keys and values, using a user-defined key comparison function) | ||||||||||||
array_diff_ukey() | Compare arrays, and returns the differences (compare keys only, using a user-defined key comparison function) | ||||||||||||
array_fill() | В примере: создаёт массив (4 элемента, первый индекс - 3) и всем элементам присваивает значение blue $a1=array_fill(3,4,"blue"); |
||||||||||||
array_fill_keys() | Fills an array with values, specifying keys | ||||||||||||
array_filter() | Фильтр массива с использованием call_back функции. Перебираются все элементы массива, каждый последовательно передаётся в call_llback-функцию. Если функция возвращает true, то данное значение из array возвращается в результирующий массив. Ключи массива сохраняются. function test_num($var) { return (gettype($var) == "integer"); } $a1=array("a","b",2,3,4); var_dump(array_filter($a1,"test_num")); ?> Результат: array (size=3) 2 => int 2 3 => int 3 4 => int 4 |
||||||||||||
array_flip() | Flips/Exchanges all keys with their associated values in an array | ||||||||||||
array_intersect() | Сравнивает массивы, возвращает их пересечение (те элементы, значения которых одинаковы) | ||||||||||||
array_intersect_assoc() | Сравнивает массивы, возвращает их пересечение (те элементы, значения и индексы которых одинаковы) | ||||||||||||
array_intersect_key() | Сравнивает массивы, возвращает их пересечение (те элементы, индексы которых одинаковы) | ||||||||||||
array_intersect_uassoc() | Сравнивает ключи и значения двух массивов и возвратите совпадения (для спавнения используется callback-функция) function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("d"=>"red","b"=>"green","e"=>"blue"); $result=array_intersect_uassoc($a1,$a2,"myfunction"); print_r($result); ?> Результат: Array ( [b] => green ) |
||||||||||||
array_intersect_ukey() | Compare arrays, and returns the matches (compare keys only, using a user-defined key comparison function) | ||||||||||||
array_key_exists() | Проверяет, есть ли в массиве такой индекс $a=array("Volvo"=>"XC90","BMW"=>"X5"); if (array_key_exists("Volvo",$a)) { echo "Key exists!"; } else { echo "Key does not exist!"; } ?> |
||||||||||||
array_keys() | Возвращает массив, состоящий из индексов массива - аргумента функции | ||||||||||||
array_map() | Посылает каждое значение массива в callback-функцию, которая возвращает новые значения function func($num) { return("Элемент" . (string)$num); } $a=array(1,2,3,4,5); print_r(array_map("func",$a)); ?> Результат: Array ( [0] => Элемент1 [1] => Элемент2 [2] => Элемент3 [3] => Элемент4 [4] => Элемент5 ) |
||||||||||||
array_merge() | Сливает несколько массивов в один | ||||||||||||
array_merge_recursive() | Merges one or more arrays into one array recursively | ||||||||||||
array_multisort() | Сортировка нескольких массивов мли многомерного массива array_multisort(array1,sorting order,sorting type,array2,array3...)
<?php $a1=array("Dog","Cat"); $a2=array("Fido","Missy"); array_multisort($a1,$a2); print_r($a1); print_r($a2); ?> Результат: Array ( [0] => Cat [1] => Dog ) Array ( [0] => Missy [1] => Fido ) |
||||||||||||
array_pad() | Вставляет указанное количество элементов с заданным значением в массив $a=array("red","green"); print_r(array_pad($a,5,"blue")); Возвращает массив из 5 элементов, значения новых - "blue" |
||||||||||||
array_pop() | Удаляет последний элемент массива $a=array("red","green","blue"); array_pop($a); print_r($a); |
||||||||||||
array_product() | Вычисляет произведение значений в массиве | ||||||||||||
array_push() | Вставляет один или несколько элементов в конец массива | ||||||||||||
array_rand() | Возвращает один или несколько случайных ключей из массива | ||||||||||||
array_reduce() | Возвращает массив как строку, используя пользовательскую функцию | ||||||||||||
array_replace() | Заменяет значения первого массива значениями из следующих массивов | ||||||||||||
array_replace_recursive() | Заменяет значения первого массива рекурсивными значениями из следующих массивов | ||||||||||||
array_reverse() | Возвращает массив в обратном порядке | ||||||||||||
array_search() | Ищет в массиве заданное значение и возвращает ключ | ||||||||||||
array_shift() | Удаляет первый элемент из массива и возвращает значение удаляемого элемента | ||||||||||||
array_slice() | Возвращает выбранные части массива | ||||||||||||
array_splice() | Удаляет и заменяет указанные элементы массива | ||||||||||||
array_sum() | Возвращает сумму значений в массиве | ||||||||||||
array_udiff() | Сравните массивы и возвращает различия (сравнивает только значения , с помощью пользовательской функции сравнения ) | ||||||||||||
array_udiff_assoc() | Сравнивает массивы и возвращает различия (сравнивает и ключи и значения, используя встроенную функцию для сравнения ключей и пользовательскую функции для сравнения значений) | ||||||||||||
array_udiff_uassoc() | Сравнивает массивы и возвращает различия ( ключи и значения, используя две пользовательские функции сравнения ключей) | ||||||||||||
array_uintersect() | Сравнивает массивы и возвращает совпадения (сравнивает только значения, используя пользовательскую функцию сравнения ключей) | ||||||||||||
array_uintersect_assoc() | Сравнивает массивы и возвращает совпадения ( ключи и значения, используя встроенную функцию для сравнения ключей и пользовательской функции для сравнения значений) | ||||||||||||
array_uintersect_uassoc() | Сравнивает массивы и возвращает совпадения (ключи и значения, используя две пользовательские функции сравнения ключей) | ||||||||||||
array_unique() | Удаляет повторяющиеся значения из массива | ||||||||||||
array_unshift() | Добавляет один или несколько элементов в начало массива | ||||||||||||
array_values() | Возвращает все значения массива | ||||||||||||
array_walk() | Применяет пользовательскую функцию к каждому элементу массива | ||||||||||||
array_walk_recursive() | Рекурсивно применяет функцию пользователя к каждому элементу массива | ||||||||||||
arsort() | Сортирует ассоциативный массив в порядке убывания, согласно значению | ||||||||||||
asort() | Сортирует ассоциативный массив в порядке возрастания, согласно значению | ||||||||||||
compact() | Создать массив, содержащий переменные и их значения | ||||||||||||
count() | Возвращает количество элементов в массиве | ||||||||||||
current() | Возвращает текущий элемент в массиве | ||||||||||||
each() | Возвращает текущую пару ключ-значение из массива | ||||||||||||
end() | Устанавливает внутренний указатель массива на последний элемент | ||||||||||||
extract() | Импортирует переменные в текущую таблицу символов из массива | ||||||||||||
in_array() | Проверяет, существует ли указанное значение в массиве | ||||||||||||
key() | Выбирает ключ из массива | ||||||||||||
krsort() | Сортирует ассоциативный массив в порядке убывания, в соответствии с ключом | ||||||||||||
ksort() | Сортирует ассоциативный массив в порядке возрастания, в соответствии с ключом | ||||||||||||
list() | Присваивает переменные, как если бы они были массивом | ||||||||||||
natcasesort() | Сортирует массив с использованием не зависящего от регистра алгоритма «естественного порядка» | ||||||||||||
natsort() | Сортирует массив с использованием алгоритма «естественного порядка» | ||||||||||||
next() | Увеличивает на единицу внутренний счётчик | ||||||||||||
pos() | Аналог функции count() | ||||||||||||
prev() | Перемещает внутренний указатель массива на предыдущий элемент и возвращает предыдущий элемент | ||||||||||||
range() | Создает массив, содержащий ряд элементов | ||||||||||||
reset() | Устанавливает внутренний указатель массива на его первый элемент | ||||||||||||
rsort() | Сортирует индексированный массив в порядке убывания | ||||||||||||
shuffle() | Перемешивает массив | ||||||||||||
sizeof() | Алиас count () | ||||||||||||
sort() | Сортирует индексированный массив в порядке возрастания | ||||||||||||
uasort() | Сортирует массив по значениям, используя пользовательскую функцию сравнения | ||||||||||||
uksort() | Сортирует массив по ключам с помощью пользовательской функции сравнения | ||||||||||||
usort() | Сортирует массив с использованием пользовательской функции сравнения |