PHP — массив с числовыми индексами

Тема в разделе "Статьи", создана пользователем Nooba, 17 июл 2015.

  1. Nooba

    Nooba Banned

    Регистр:
    30 ноя 2014
    Сообщения:
    69
    Репутация:
    90
    Баллы:
    30
    Пол:
    Мужской
    PHP — массив с числовыми индексами
    Если это ваш первый опыт работы с массивами, то вы, возможно, не вполне понимаете их концепцию. Представьте, что вы являетесь владельцем бизнеса и хотите сохранить имена всех ваших сотрудников в переменной PHP. Как бы вы это сделали?

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

    $employee_array[0] = "Петя";
    $employee_array[1] = "Вася";
    $employee_array[2] = "Ваня";
    $employee_array[3] = "Федор Петрович";
    В приведенном выше примере мы использовали ключ / значение. Ключи были числами, указанными в квадратных скобках и значения — имена сотрудников. Каждый ключ массива представляет собой значение, что-то наподобие ссылки. В общем виде для присвоения элементу массива значения требуется запись вида:

    $array[ключ] = значение;
    Примечание: Как вы могли заметить из приведенного выше примера кода, ключи массива начинаются с 0, а не 1. Это очень распространенная проблема для многих начинающих программистов, которые привыкли считать от 1.

    Если мы хотим, получить сохраненное значение, то нам понадобится сделать следующее:

    echo "Два моих работника: "
    . $employee_array[0] . " и " . $employee_array[1];
    echo "<br />И еще два работника: "
    . $employee_array[2] . " и " . $employee_array[3];
    Результат:
    Два моих работника: Петя и Вася
    И еще два работника: Ваня и Федор Петрович

    PHP массивы очень полезны при использовании в сочетании с циклами, которые мы рассмотрим чуть позже. Выше мы показали пример массива, который использовал целые числа в качестве ключей (численно индексированный массив). Однако, вы также можете указать строку в качестве ключа, тогда это будет уже ассоциативный массив.

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

    $salaries["Петя"] = 2000;
    $salaries["Вася"] = 4000;
    $salaries["Ваня"] = 600;
    $salaries["Даша"] = 0;

    echo "Петя получает - $" . $salaries["Петя"] . "<br />";
    echo "Вася получает - $" . $salaries["Вася"] . "<br />";
    echo "А Ваня получает всего - $" . $salaries["Ваня"] . "<br />";
    echo "Даша в этом месяце не работала, поэтому - $" . $salaries["Даша"]