Если разработчик не указывает ключ для каждого значения в массиве, PHP автоматически задает номер ключам, начиная от 0.
Данный код определяет массив $arrMonths[], где каждый месяц года является элементом в массиве.
<?php
$arrMonths[] = ‘January’;
$arrMonths[] = ‘February’;
$arrMonths[] = ‘March’;
$arrMonths[] = ‘April’;
?>
Интерпретатор PHP автоматически определяет каждый ключ массива и присуждает ему номер, начиная от 0.
<?php
$arrMonths[0] = ‘January’;
$arrMonths[1] = ‘February’;
$arrMonths[2] = ‘March’;
$arrMonths[3] = ‘April’;
?>
Функция массива
Еще один метод определения массивов заключается в том, чтобы использовать функцию массива.
<?php
$arrMonths= array(‘January’, ‘February’, ‘March’, ‘April’);
?>
Данная функция создает нумерованный массив по тому же принципу, как и пронумерованные элементы в примере, приведенном выше.
Ассоциативные массивы
В некоторых случаях, разработчику не нужно, чтобы каждое значение ассоциировалось с числом, но чтобы оно было привязано к более описательному ключу. Каждый их подобных ключей должен быть привязан к значению, оттуда и термин «ассоциативный».
Так же, как и в случае с пронумерованным массивом, авторы кода могут создать ассоциативный массив с одним элементом за раз:
<?php
$arrBooks[‘Comic Books’] = ‘Superman’;
$arrBooks[‘Science Fiction’] = ‘Dune’;
$arrBooks[‘Fantasy’] = ‘The Hobbit’;
$arrBooks[‘Horror’] = ‘Carrie’;
?>
Функция массива также удобна для создания ассоциативных массивов. Символ => привязывает ключевую фразу к значению.
<?php
$arrBooks = array(
‘Comic’ => ‘Superman’,
‘Science Fiction’ => ‘Dune’,
‘Fantasy’ => ‘The Hobbit’,
‘Horror’ => ‘Carrie’);
?>
Это и есть массив?
Если вы не уверены в том, имеет ли переменная структуру массива, то функция is_array может протестировать переменную на предмет схожести с массивом.
<?php
$baseballTeams = array(‘Cardinals’, ‘Tigers’, ‘Astros’);
$footballTeams = ‘Cardinals, Lions, Texans’;
if (is_array($baseballTeams)) {
echo ("Baseball массив<br>");
}
else {
echo ("Не Baseball массив<br>");
}
if (is_array($footballTeams)) {
echo ("Football массив<br>");
}
else {
echo ("Не Football массив<br>");
}
?>
Так как переменная $baseballTeams является массивом (определенным функцией массива), и переменная $footballTeams представляет собой список слов, разделенных запятыми, мы получим следующий код:
Baseball массив
Не Football массив
Зацикливание между массивами
Цикл foreach проходит через каждый элемент массива. Автор может отобразить, запустить вычисления или произвести какую-либо другую операцию для каждого элемента в массиве, так как он привязан к циклу.
<?php
$arrBooks = array(
‘Comic’ => ‘Superman’,
‘Science Fiction’ => ‘Dune’,
‘Fantasy’ => ‘The Hobbit’,
‘Horror’ => ‘Carrie’);
foreach ($arrBooks as $key => $value) {
print "$value is an example of a $key book.<br>n";
}
?>
В результате мы получим следующее:
Superman is an example of a Comic book.
Dune is an example of a Science Fiction book.
The Hobbit is an example of a Fantasy book.
Carrie is an example of a Horror book.
Сортировка массивов
Функция sort позволяет нам сортировать массивы либо по нумерации (для значений в виде чисел), либо в алфавитном порядке (для буквенных значений). Функция сортировки проходит по каждому значению и заново задает им новые ключи.
<?php
$baseballTeams = array(‘Cardinals’, ‘Tigers’, ‘Astros’);
sort($baseballTeams);
foreach ($baseballTeams as $key => $value) {
echo $value. "<br>n";
}
?>
В результате мы имеем:
Astros
Cardinals
Tigers
В следующей части руководства мы рассмотрим другие функции, позволяющие нам добавлять, удалять или оперировать массивами.