Загрузка...

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

Тема в разделе Backend создана пользователем Hangman666 18 июн 2016. 284 просмотра

Загрузка...
  1. Hangman666
    Hangman666 Автор темы 18 июн 2016 Хранитель Идей 342 10 мар 2016
    PHP массивы - это способ организации и использования данных. Проще говоря, массив представляет собой список. Вот краткий пример массива, элементами которого являются названия видов транспорта:

    Код

    $transportation = array(
    ‘Planes’,
    ‘Trains’,
    ‘Automobiles’
    );

    Теперь переменная $transportation содержит список видов транспорта.


    Вывод элементов массива

    Каждый из элементов в приведенном выше списке называется значением. Каждое значение также имеет ключ. Если вы сами не задаете для элемента ключ, он присвоится автоматически, и это будет порядковый номер. Ниже приводится пример работы с массивами PHP:

    Код
    [/SIZE]
    $transportation = array(
    0 => ‘Planes’,
    1 => ‘Trains’,
    2 => ‘Automobiles’
    );
    [SIZE=4]

    => - это оператор присваивания, а числа являются ключами. Обратите внимание, что мы начали с 0. Если вы устанавливаете ключи сами, то можно начать с 1. Но я не рекомендую делать этого, так как автоматическая нумерация начинается с 0.

    Выводим первый элемент массива:

    Код

    <?php echo $transportation[0]; ?>

    Видите ключ в квадратных скобках? Этот код выведет значение "Planes".


    Пользовательские ключи массива

    Вы также можете создать собственные ключи. Вот пример ассоциативного массива PHP:

    Код

    $web_site = array(
    ‘Name’ => ‘LOLZTEAM’,
    ‘URL’ => ‘http://lolzteam.org’,
    ‘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>

    И в результате вы получите следующее:

    Использование пользовательских ключей помогает проще определять, что вы выводите. Для этого достаточно посмотреть на ключ выведенного массива 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>’;
    }

    В приведенном выше примере я обработал через цикл каждого человека, и внутри каждого человека я перебрал через цикл его данные, а затем вывел их. Я назвал элементы массива так, чтобы они соответствовали значению переменных.


    Вот несколько примеров того, что можно делать с массивами:

    Код

    <?php $items_num = count( $array ); ?>
    Этот код рассчитывает, сколько элементов содержится в массиве. Например, можно вывести "Найдено 14 элементов, удовлетворяющих условиям поиска" (документация):

    Код

    <?php $array = sort( $array ); ?>
    Функция массива PHP sort() сортирует данные по возрастанию, и назначает для переменных значения в соответствии с новым порядком. Можно отсортировать массив по числам или по строкам (документация):

    Код

    <?php if( is_array( $array ) ) {
    Функция is_array() проверяет, является ли переменная массивом (документация). Это может быть полезно, чтобы преобразовать переменную еще в начале кода, например:

    Код

    $array = ‘’;
    А затем преобразовать в массив. Так можно определить, извлекли ли вы контент или еще нет.


    Заключение

    Массивы – это замечательный инструмент для организации и управления данными, который позволяет использовать их практически любым способом.
     
  2. RaysMorgan
    Добавлю, что есть ещё функция in_array, которая проверяет, есть ли это значение в этом массиве (проверяет не по ключу, а по значению)
    Например:
    Код

    $array = array();
    $array[] = 'lolzteam';
    $array[] = 'lzt';
    $somevar = 'lzt';
    if (in_array($somevar, $array)) {
    echo 'Совпадение найдено';
    }
     
Top