- array
- Список параметров
- Возвращаемые значения
- Примеры
- Примечания
- Смотрите также
- User Contributed Notes 38 notes
- ПЕРЕНУМЕРОВАТЬ МАССИВ PHP
- Массивы
- Нумерованные массивы
- Первый способ объявления массива
- Вывод массива на экран
- Обращение к элементу массива
- Второй способ объявления массива
- Многомерный массив
- Нумерация массива
- Ассоциативные массивы
array
Создаёт массив. Подробнее о массивах читайте в разделе Массивы.
Список параметров
Синтаксис «индекс => значения», разделённые запятыми, определяет индексы и их значения. Индекс может быть строкой или целым числом. Если индекс опущен, будет автоматически сгенерирован числовой индекс, начиная с 0. Если индекс — число, следующим сгенерированным индексом будет число, равное максимальному числовому индексу + 1. Обратите внимание, что если определены два одинаковых индекса, последующий перезапишет предыдущий.
Наличие завершающей запятой после последнего элемента массива, несмотря на некоторую необычность, является корректным синтаксисом.
Возвращаемые значения
Возвращает массив параметров. Параметрам может быть назначен индекс с помощью оператора => . Подробнее о массивах читайте в разделе Массивы.
Примеры
Последующие примеры демонстрируют создание двухмерного массива, определение ключей ассоциативных массивов и способ генерации числовых индексов для обычных массивов, если нумерация начинается с произвольного числа.
Пример #1 Пример использования array()
$fruits = array (
«fruits» => array( «a» => «orange» , «b» => «banana» , «c» => «apple» ),
«numbers» => array( 1 , 2 , 3 , 4 , 5 , 6 ),
«holes» => array( «first» , 5 => «second» , «third» )
);
?>?php
Пример #2 Автоматическая индексация с помощью 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
Результат выполнения данного примера:
Array ( [1] => January [2] => February [3] => March )
Как и в Perl, вы имеете доступ к значениям массива внутри двойных кавычек. Однако в PHP нужно заключить ваш массив в фигурные скобки.
Пример #4 Доступ к массиву внутри двойных кавычек
$foo = array( ‘bar’ => ‘baz’ );
echo «Hello < $foo [ 'bar' ]>!» ; // Hello baz!
Примечания
Замечание:
array() — языковая конструкция, используемая для представления литеральных массивов, а не обычная функция.
Смотрите также
- array_pad() — Дополнить массив определённым значением до указанной длины
- list() — Присваивает переменным из списка значения подобно массиву
- count() — Подсчитывает количество элементов массива или Countable объекте
- range() — Создаёт массив, содержащий диапазон элементов
- foreach
- Тип массив
User Contributed Notes 38 notes
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’
$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’
$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
)
an array can execute code.
i try this on php 7.4 (xampp version)
$msg = ‘HI GUYS !’
,print ( $msg )
,(function()use ( $msg ) print ‘here is php’ ;
>)()
,print ‘ I`m just an array ,alive one’
];
The following function (similar to one above) will render an array as a series of HTML select options (i.e. ««). The problem with the one before is that there was no way to handle , so this function solves that issue.
function arrayToSelect($option, $selected = », $optgroup = NULL)
$returnStatement = »;
if (isset($optgroup)) foreach ($optgroup as $optgroupKey => $optgroupValue) $returnStatement .= »;
So, for example, I needed to render a list of states/provinces for various countries in a select field, and I wanted to use each country name as an label. So, with this function, if only a single array is passed to the function (i.e. «arrayToSelect($stateList)») then it will simply spit out a bunch of «» elements. On the other hand, if two arrays are passed to it, the second array becomes a «key» for translating the first array.
$countryList = array(
‘CA’ => ‘Canada’,
‘US’ => ‘United States’);
$stateList[‘CA’] = array(
‘AB’ => ‘Alberta’,
‘BC’ => ‘British Columbia’,
‘AB’ => ‘Alberta’,
‘BC’ => ‘British Columbia’,
‘MB’ => ‘Manitoba’,
‘NB’ => ‘New Brunswick’,
‘NL’ => ‘Newfoundland/Labrador’,
‘NS’ => ‘Nova Scotia’,
‘NT’ => ‘Northwest Territories’,
‘NU’ => ‘Nunavut’,
‘ON’ => ‘Ontario’,
‘PE’ => ‘Prince Edward Island’,
‘QC’ => ‘Quebec’,
‘SK’ => ‘Saskatchewan’,
‘YT’ => ‘Yukon’);
$stateList[‘US’] = array(
‘AL’ => ‘Alabama’,
‘AK’ => ‘Alaska’,
‘AZ’ => ‘Arizona’,
‘AR’ => ‘Arkansas’,
‘CA’ => ‘California’,
‘CO’ => ‘Colorado’,
‘CT’ => ‘Connecticut’,
‘DE’ => ‘Delaware’,
‘DC’ => ‘District of Columbia’,
‘FL’ => ‘Florida’,
‘GA’ => ‘Georgia’,
‘HI’ => ‘Hawaii’,
‘ID’ => ‘Idaho’,
‘IL’ => ‘Illinois’,
‘IN’ => ‘Indiana’,
‘IA’ => ‘Iowa’,
‘KS’ => ‘Kansas’,
‘KY’ => ‘Kentucky’,
‘LA’ => ‘Louisiana’,
‘ME’ => ‘Maine’,
‘MD’ => ‘Maryland’,
‘MA’ => ‘Massachusetts’,
‘MI’ => ‘Michigan’,
‘MN’ => ‘Minnesota’,
‘MS’ => ‘Mississippi’,
‘MO’ => ‘Missouri’,
‘MT’ => ‘Montana’,
‘NE’ => ‘Nebraska’,
‘NV’ => ‘Nevada’,
‘NH’ => ‘New Hampshire’,
‘NJ’ => ‘New Jersey’,
‘NM’ => ‘New Mexico’,
‘NY’ => ‘New York’,
‘NC’ => ‘North Carolina’,
‘ND’ => ‘North Dakota’,
‘OH’ => ‘Ohio’,
‘OK’ => ‘Oklahoma’,
‘OR’ => ‘Oregon’,
‘PA’ => ‘Pennsylvania’,
‘RI’ => ‘Rhode Island’,
‘SC’ => ‘South Carolina’,
‘SD’ => ‘South Dakota’,
‘TN’ => ‘Tennessee’,
‘TX’ => ‘Texas’,
‘UT’ => ‘Utah’,
‘VT’ => ‘Vermont’,
‘VA’ => ‘Virginia’,
‘WA’ => ‘Washington’,
‘WV’ => ‘West Virginia’,
‘WI’ => ‘Wisconsin’,
‘WY’ => ‘Wyoming’);
ПЕРЕНУМЕРОВАТЬ МАССИВ PHP
Перенумерация элементов массива в PHP может быть полезной в различных сценариях, например, когда элементы массива нужно привести в порядок после удаления или сортировки. Для этого можно использовать встроенную функцию ‘array_values()’, которая возвращает массив со значениями переданного массива, перенумерованными в порядке возрастания.
$myArray = array(‘one’, ‘two’, ‘three’);
$myArray = array_values($myArray);
// $myArray is now array(‘one’, ‘two’, ‘three’);
Функция ‘array_values()’ возвращает новый массив, который состоит только из значений исходного массива, индексы которого начинаются с 0 и последовательно увеличиваются в порядке возрастания. Таким образом, она позволяет переиндексировать элементы массива.
Еще один способ переиндексации массива заключается в использовании оператора ‘=’ для создания нового массива. В этом случае можно использовать цикл ‘foreach’ для копирования элементов с предоставлением новых ключей.
$myArray = array(‘one’, ‘two’, ‘three’);
$newArray = array();
$index = 0;
foreach($myArray as $value)
<
$newArray[$index] = $value;
$index++;
>
// $newArray is now array(‘one’, ‘two’, ‘three’);
В результате выполнения этого кода будет создан новый массив ‘newArray’, который состоит из тех же элементов, что и исходный массив ‘myArray’, но с ключами, начинающимися с нуля и последовательно увеличивающимися в порядке возрастания.
#33 Уроки PHP — Учим язык PHP, Обход массива циклом for и foreach на языке PHP
Сортировка массивов в PHP
Массивы в PHP — часть 1 — Базовый курс PHP-7
Массивы
Массив (php.net) — это набор данных, которые объединены под одним именем. Массив состоит из нескольких элементов, которые имеют свой определенный индекс. Массивы, в отличии от переменных, позволяют хранить большое количество различных данных.
Нумерованные массивы
Обычные нумерованные массивы , ( ключ — является числом ).
Первый способ объявления массива
— с помощью ключевого слова array :
$arr = array ( ‘Ivanov’ , ‘Petrov’ , ‘Sidorov’ );
var_dump( $arr ) ;
?>
выведет:
array (size=3)
0 => string ‘Ivanov’ (length=6)
1 => string ‘Petrov’ (length=6)
2 => string ‘Sidorov’ (length=7)
— где string — строка, length=6 — длина (количество символов), 0,1,2 — ключи или индексы массива.
Вывод массива на экран
Для вывода массива на экран используют либо функцию var_dump() , либо функцию print_r() , либо с помощью тегов «» — которые используют форматированный вывод:
echo «
" ;
print_r ( $arr ) ;
echo "
» ;
?>
выведет:
Array
(
[0] => Ivanov
[1] => Petrov
[2] => Sidorov
)
Обращение к элементу массива
— либо через квадратные скобки , либо через фигурные .
Чаще всего используются квадратные скобки.
echo $arr [ 0 ]; // выведет: Ivanov
echo $arr [ 1 ]; // выведет: Petrov
echo $arr < 2 >; // выведет: Sidorov
?>
Второй способ объявления массива
— с использованием короткой записи (с помощью квадратных скобок ).
Многомерный массив
В массив мы можем положить любой тип данных, в том числе, и сам массив — тогда получится — многомерный массив .
Пример многомерного массива:
$arr2 = [ 1 , 2 , [ ‘banane’ , ‘orange’ , ‘apple’ ], 4 , ‘cat’ , 6 , 7 , 8 , 9 , 10 ,];
echo «
" ;
print_r ( $arr2 );
echo "
» ;
// обращение к элементу вложенного массива (orange)
echo $arr2 [ 2 ][ 1 ];
echo ‘
‘ ;
// обращение к элементу вложенного массива (apple)
echo $arr2 [ 2 ][ 2 ];
echo ‘
‘ ;
// обращение к элементу вложенного массива (banane)
echo $arr2 [ 2 ][ 0 ];
?>
выведет:
Array
(
[0] => 1
[1] => 2
[2] => Array
(
[0] => banane
[1] => orange
[2] => apple
)
[3] => 4
[4] => cat
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
)
orange — обращение к элементу вложенного массива (orange)
apple — обращение к элементу вложенного массива (apple)
banane — обращение к элементу вложенного массива (banane)
Нумерация массива
По умолчанию PHP нумерует массив с нуля, то есть, первый элемент — [0] , второй — [1] и т.д. Для изменения нумерации массива мы используем внутри массива дополнительный элемент — ключ . Здесь мы сами присваиваем ключи значениям массива(массив $arr3 ). Если, например, присвоим ключ первому элементу массива ( 2 => ‘Ivanov’ ) и далее нумерация не прерывается, то PHP начнет нумерацию с этого номера (массив $arr4 ).
$arr3 = [ 2 => ‘Ivanov’ , 3 => ‘Petrov’ , 4 => ‘Sidorov’ ];
echo «
" ;
print_r ( $arr3 );
echo "
» ;
$arr4 = [ 2 => ‘Ivanov’ , // наглядная запись массива
‘Petrov’ ,
‘Sidorov’
] ;
echo «
" ;
print_r ( $arr4 );
echo "
» ;
echo $arr3 [ 4 ]; // обращение к четвертому элементу массива $arr3
?>
В обоих случаях выведет выведет:
Array
(
[2] => Ivanov
[3] => Petrov
[4] => Sidorov
)
Sidorov — обращение к четвертому элементу массива $arr3
Ассоциативные массивы
— это массивы со строковым индексом ( ключ — является строкой ).
Эти массивы, например, используют для хранения информации о товарах в интернет-магазинах.
Пример ассоциативного массива:
$goods = [
// первый товар (массив)
[
‘title’ => ‘Nokia’ , // название товара
‘price’ => 100 , // цена
‘description’ => ‘Description’ // описание
],
// второй товар
[
‘title’ => ‘iPad’ ,
‘price’ => 200 ,
‘description’ => ‘Description’
]
];
echo «
" ;
print_r ( $goods );
echo "
» ;
// название первого товара и его цена
echo $goods [ 0 ][ ‘title’ ] . ‘-‘ . $goods [ 0 ][ ‘price’ ];
echo ‘
‘ ;
// название второго товара и его цена
echo $goods [ 1 ][ ‘title’ ] . ‘-‘ . $goods [ 1 ][ ‘price’ ];
echo ‘
‘ ;
?>
результат выполнения:
Array
(
[0] => Array
(
[title] => Nokia
[price] => 100
[description] => Description
)
[1] => Array
(
[title] => iPad
[price] => 200
[description] => Description
)
)
Nokia-100 — название первого товара и его цена
iPad-200 —- название второго товара и его цена
Пример:
с помощью цикла while пройтись по массиву $goods и вывести все его элементы.
$goods = [
// первый товар (массив)
[
‘title’ => ‘Nokia’ , // название товара
‘price’ => 100 , // цена
‘description’ => ‘Description’ // описание
],
// второй товар
[
‘title’ => ‘iPad’ ,
‘price’ => 200 ,
‘description’ => ‘Description’
]
];
$i = 0 ;
while ( $i 1 ) <
echo ‘title’ . ‘-‘ . $goods [ $i ] [ ‘title’ ];
echo ‘
‘ ;
echo ‘price’ . ‘-‘ . $goods [ $i ] [ ‘price’ ];
echo ‘
‘ ;
echo ‘description’ . ‘-‘ . $goods [ $i ] [ ‘description’ ];
echo ‘
‘ ;
echo ‘
‘ ;
$i++ ;
>
?>
результат выполнения:
title-Nokia
price-100
description-Description
title-iPad
price-200
description-Description
Добавление нового элемента в конец данного массива и с заданным ключем :
$arr = array ( ‘Ivanov’ , ‘Petrov’ , ‘Sidorov’ );
// добавляем новый элемент в конец массива
$arr [] = ‘Pupkin’ ;
// Добавление нового элемента в конец массива с заданным ключем
$arr [ 15 ] = ‘Vaskin’ ;
echo ‘
' ;
print_r ( $arr );
echo '
‘ ;
?>
выведет:
Array
(
[0] => Ivanov
[1] => Petrov
[2] => Sidorov
[3] => Pupkin
[15] => Vaskin
)
Если поставить ключ, который уже есть в массиве, то он будет перезаписан:
$arr = array ( ‘Ivanov’ , ‘Petrov’ , ‘Sidorov’ );
// первый элемент массива ‘Petrov’ будет перезаписан на ‘Pupkin’
$arr [ 1 ] = ‘Pupkin’ ;
echo ‘
' ;
print_r ( $arr );
echo '
‘ ;
?>
выведет:
Array
(
[0] => Ivanov
[1] => Pupkin
[2] => Sidorov
)