Загрузка...

A Beginner's Guide to PHP Arrays.

Thread in Backend created by Hangman666 Jun 18, 2016. 304 views

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

    Code

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

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


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

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

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

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

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

    Code

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

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


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

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

    Code

    $web_site = array(
    ‘Name’ => ‘LOLZTEAM’,
    ‘URL’ => ‘http://lolzteam.org’,
    ‘Purpose’ => ‘Education’
    );

    А теперь можно сделать что-то вроде этого:

    Code

    <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. Вот как это работает:

    Code

    <ul>
    <?php
    foreach( $web_site as $key => $value ) {
    echo ‘<li>’ . $key . ‘:’. $value . ‘</li>’;
    }
    ?>
    </ul>

    Вот, что делает этот код:

    • Каждому элементу массива присваивается переменная $key, значение которой равно ключу элемента. И переменная $value, равная значению элемента. Затем мы осуществляем PHPсортировку массива до тех пор, пока все элементы не будут обработаны;
    • Этот код будет генерировать такой же маркированный список, как я создал вручную выше.
    Многомерные массивы

    В многомерном массиве PHP все его элементы являются массивами. Например:

    Code

    $staff = array(
    0 => array(
    [‘Name’] => ‘Topher’,
    [‘Position’] => ‘Standing or sitting, when not lying down’
    ),
    1 => array(
    [‘Name’] => ‘Steve’,
    [‘Position’] => ‘Writer’
    )
    );

    У нас есть массив $staff с несколькими «людьми». Мы могли бы создать несколько циклов foreach, чтобы «перебрать» каждого из них, например:

    Code

    foreach( $staff as $key => $person ) {
    echo ‘<ul>’;
    foreach( $person as $attribute => $value ) {
    echo ‘<li>’ . $attribute . ‘:’ . $value . ‘</li>’;
    }
    echo ‘</ul>’;
    }

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


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

    Code

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

    Code

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

    Code

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

    Code

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


    Заключение

    Массивы – это замечательный инструмент для организации и управления данными, который позволяет использовать их практически любым способом.
     
  2. RaysMorgan
    RaysMorgan Jun 18, 2016 Че скажете 53,981 Mar 7, 2013
    Добавлю, что есть ещё функция in_array, которая проверяет, есть ли это значение в этом массиве (проверяет не по ключу, а по значению)
    Например:
    Code

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