Основы PHP — Массивы. Индексные, ассоциативные и многомерные массивы

Logo
Основы PHP - Массивы

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

Массивы PHP – Что такое массивы PHP и как они создаются. Простые (индексные) массивы

Массивы в PHP играют очень важную роль и повсеместно используются при построении сайтов. Массив – это так называемая переменная (Знакомство с PHP. Базовые понятия PHP — Переменные, операторы вывода, операции с переменными), которая может содержать несколько значений доступных по определенным индексам. Для доступа к информации  массива достаточно просто указать имя массива и индекс ячейки с данными. Для наглядности приведу пример структуры простого индексного массива и переменной.

Основы PHP - Простой индексный массив

Как видно с изображения, разница между массивом и переменной не очень большая. Переменная может принимать только одно значение, а массив сразу несколько. При этом для того, чтобы вытащить информацию с массива, достаточно просто указать имя массива и индекс, по которому доступна информация. Для более полного понимания давайте рассмотрим пример и создадим массив, после чего вытащим с него информацию и выведем на экран.

/*Создание массива*/
$name[0] = "A";
$name[1] = "B";
$name[2] = "C";
$name[3] = "D";
$name[4] = "E";
/*Вывод значения ячейки массива с индексом 2 на экран*/
echo $name[2];

В примере выше видно, что сначала мы создаем первый элемент массива с индексом «0» и присваиваем ему значение «А». Затем аналогичным образом создаем остальные 4 элемента массива. После этого при помощи оператора echo мы выводим третий элемент массива на экран. Как вы уже заметили, для того, чтобы вывести элемент массива на экран, нужно указать имя массива и индекс ячейки с данными.

Кроме вышеприведенного способа, массив в php можно создать другим способом. Суть его состоит в использовании ключевого слова array. Для наглядности давайте рассмотрим тот же пример создания массива, но уже другим способом.

$name = array (0 => "A", 1 => "B", 2 => "C", 3 => "D", 4 => "E");

Этот способ тоже очень простой. Для создания массива мы создаем переменную $name, затем ставим знак присваивания «=» и указываем что это массив (array). После этого создаем ячейки и заполняем их данными. Делается это при помощи указания индекса и присвоения ему значения при помощи знаков «=» и «>». То есть «0 => «A»» означает, что ячейке с индексом «0» мы присваиваем значение «А». Немного неудобно объяснять эту тему текстово но, думаю, вы поняли о чем идет речь.

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

Первый вариант создания массивов в PHP

$name[] = "A";
$name[] = "B";
$name[] = "C";
$name[] = "D";
$name[] = "E";

Второй вариант создания массивов в PHP

$name = array("A", "B", "C", "D", "E");

Ассоциативные массивы PHP

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

Основы PHP - Ассоциативные массивы

Создаются ассоциативные массивы аналогичным образом. Рассмотрим 2 основных способа.

Первый способ создания ассоциативного массива.

$color["white"] = "белый";
$color["black"] = "черный";
$color["red"] = "красный";
$color["green"] = "зеленый";
$color["blue"] = "синий";

Второй способ создания ассоциативного массива.

$color = array("white" => "белый", "black" => "черный", "red" => "красный", "green" => "зеленый", "blue" => "синий");

Как видите процедура создания ассоциативного массива индентична процедуре создания индексного. Для того чтобы вывести элемент массива на экран, мы можем использовать известный нам оператор вывода echo. Рассмотрим два способа – обычный и при помощи пристыковки переменных.

echo "Выбранный цвет - $color[red]";
echo "Выбран ".$color["red"]." цвет";

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

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

Теперь давайте перейдем к заключительной части статьи и рассмотрим многомерные массивы PHP.

Многомерные массивы PHP

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

Основы PHP - Многомерные массивы

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

$massiv["Стационарный ПК"] = array ("ОЗУ" => "4096", "HDD" => "500", "ГЦ" => "3");
$massiv["Ноутбук"] = array ("ОЗУ" => "3072", "HDD" => "320", "ГЦ" => "2");
$massiv["Нетбук"] = array ("ОЗУ" => "2048", "HDD" => "250", "ГЦ" => "1,6");

Для того чтобы в PHP вывести элемент многомерного массива на экран достаточно использовать оператор вывода echo и метод пристыковки переменных, так как в противном случае (без пристыковки переменных) элемент многомерного массива не выведется на экран. Это еще одно отличие при работе с многомерными массивами PHP.

echo "Стационарный ПК с объемом ОЗУ ".$massiv["Стационарный ПК"]["ОЗУ"]." и объемом жесткого диска ".$massiv["Стационарный ПК"]["HDD"]." имеет частоту процессора " .$massiv["Стационарный ПК"]["ГЦ"]. " ГЦ.";

Теперь давайте подведем итог всему вышесказанному.

В рамках данной статьи мы рассмотрели три вида массивов – индексные, ассоциативные и многомерные. Узнали, как создавать массивы в PHP, а также как вытаскивать элемент массива и выводить его на экран. Были рассмотрены основы по работе с массивами, а также некоторые правила по выводу элементов на экран.

На этом данная статья подходит к концу. Если вы не хотите пропустить последних обновлений блога, вы можете подписаться на новостную рассылку любым удобным для вас способом в пункте «Подписка» либо воспользоваться формой ниже.

На этом все. Удачи вам и до скорых встреч на страницах блога dmitriydenisov.com

Обнаружили ошибку? Выделите ее и нажмите Ctrl+Enter

Комментарии 1

  • Дмитрий

    Отличная статья , спасибо !

Оставить комментарий

отменить ответ