Руководство для новичков по массивам PHP

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» был подготовлен дружной командой проекта Сайтостроение от А до Я.

06 марта 2016 в 12:18
Материалы по теме
{"url":"http://www.fastvps.ru/", "src":"/images/advbanners/fastvps.png", "alt":"Хостинг Fastvps.ru. Наш выбор!"}
Заработок