PHP массивы - это способ организации и использования данных. Проще говоря, массив представляет собой список. Вот краткий пример массива, элементами которого являются названия видов транспорта:
$transportation = array( ‘Planes’, ‘Trains’, ‘Automobiles’ );
Для удобства чтения вы можете написать это так:
$transportation = array(
‘Planes’,
‘Trains’,
‘Automobiles’
);
Теперь переменная $transportation содержит список видов транспорта.
Вывод элементов массива
Каждый из элементов в приведенном выше списке называется значением. Каждое значение также имеет ключ. Если вы сами не задаете для элемента ключ, он присвоится автоматически, и это будет порядковый номер. Ниже приводится пример работы с массивами PHP:
$transportation = array(
0 => ‘Planes’,
1 => ‘Trains’,
2 => ‘Automobiles’
);
=> - это оператор присваивания, а числа являются ключами. Обратите внимание, что мы начали с 0. Если вы устанавливаете ключи сами, то можно начать с 1. Но я не рекомендую делать этого, так как автоматическая нумерация начинается с 0.
Выводим первый элемент массива:
<?php echo $transportation[0]; ?>
Видите ключ в квадратных скобках? Этот код выведет значение "Planes".
Пользовательские ключи массива
Вы также можете создать собственные ключи. Вот пример ассоциативного массива PHP:
$web_site = array(
‘Name’ => ‘OSTraining’,
‘URL’ => ‘http://ostraining.com’,
‘Purpose’ => ‘Education’
);
А теперь можно сделать что-то вроде этого:
<ul>
<li>Name: <?php echo $web_site[‘Name’]; ?></li>
<li>URL: <?php echo $web_site[‘URL’]; ?></li>
<li>Purpose: <?php echo $web_site[‘Purpose’]; ?></li>
</ul>
И в результате вы получите следующее:
- Name: OSTraining;
- URL: http://ostraining.com;
- Purpose: Education.
Использование пользовательских ключей помогает проще определять, что вы выводите. Для этого достаточно посмотреть на ключ выведенного массива PHP.
Циклы
Что делать, если вы не знаете, сколько элементов содержится в массиве, или какие в нем ключи? В PHP для этого используется цикл foreach. Вот как это работает:
<ul>
<?php
foreach( $web_site as $key => $value ) {
echo ‘<li>’ . $key . ‘:’. $value . ‘</li>’;
}
?>
</ul>
Вот, что делает этот код:
- Каждому элементу массива присваивается переменная $key, значение которой равно ключу элемента. И переменная $value, равная значению элемента. Затем мы осуществляем PHPсортировку массива до тех пор, пока все элементы не будут обработаны;
- Этот код будет генерировать такой же маркированный список, как я создал вручную выше.
Многомерные массивы
В многомерном массиве PHP все его элементы являются массивами. Например:
$staff = array(
0 => array(
[‘Name’] => ‘Topher’,
[‘Position’] => ‘Standing or sitting, when not lying down’
),
1 => array(
[‘Name’] => ‘Steve’,
[‘Position’] => ‘Writer’
)
);
У нас есть массив $staff с несколькими «людьми». Мы могли бы создать несколько циклов foreach, чтобы «перебрать» каждого из них, например:
foreach( $staff as $key => $person ) {
echo ‘<ul>’;
foreach( $person as $attribute => $value ) {
echo ‘<li>’ . $attribute . ‘:’ . $value . ‘</li>’;
}
echo ‘</ul>’;
}
В приведенном выше примере я обработал через цикл каждого человека, и внутри каждого человека я перебрал через цикл его данные, а затем вывел их. Я назвал элементы массива так, чтобы они соответствовали значению переменных.
Подводя итог
Массивы, содержащие реальные данные, редко создаются вручную. Как правило, они создаются с помощью вызовов базы данных, REST-запросов через веб-интерфейс или другим способом.
При работе с WordPress мы часто выполняем запросы к базе данных с помощью WP_Query и получаемPHP двумерный массив данных «Записи». Для этого вы можете использовать foreach, чтобы обработать эти записи и вывести их.
Выходя за рамки
Массивы можно отсортировать, объединить, сравнить, просуммировать и изменить порядок размещения элементов. Я настоятельно рекомендую вам ознакомиться с официальной документацией. Большинство функций массивов имеют понятные названия, так что вы сможете понять, что они делают.
Бонусные функции
Вот несколько примеров того, что можно делать с массивами:
<?php $items_num = count( $array ); ?>
Этот код рассчитывает, сколько элементов содержится в массиве. Например, можно вывести "Найдено 14 элементов, удовлетворяющих условиям поиска" (документация):
<?php $array = sort( $array ); ?>
Функция массива PHP sort() сортирует данные по возрастанию, и назначает для переменных значения в соответствии с новым порядком. Можно отсортировать массив по числам или по строкам (документация):
<?php if( is_array( $array ) ) {
Функция is_array() проверяет, является ли переменная массивом (документация). Это может быть полезно, чтобы преобразовать переменную еще в начале кода, например:
$array = ‘’;
А затем преобразовать в массив. Так можно определить, извлекли ли вы контент или еще нет.
Заключение
Массивы – это замечательный инструмент для организации и управления данными, который позволяет использовать их практически любым способом.
Перевод статьи «Absolute Beginners Guide to PHP Arrays»
Источник: http://www.internet-technologies.ru/articles/article_2745.html
