Загрузка
Пока я творю, я живу!
Блог посвящен: HTML, CSS, PHP, Wordpress, Bootstrap
Всем привет!
Продолжаем изучать основы PHP с нуля!
В этом уроке я расскажу вам про массивы и научу с ними работать.
Вы часто будете использовать массивы в своем коде, так что внимательно читайте!
Что такое массив?
Массив – это своего рода контейнер, который хранит в себе информацию.
Например, представьте, что вы – библиотекарь. У вас огромные шкафы с книгами. Все они стоят по жанрам и авторам. Благодаря этому вы можете легко найти нужную книгу, нужного автора.
Так вот, массив это и есть этот шкаф, в котором хранятся книги (информация).
Массив чем-то похож на переменные, тоже хранит информацию, но…
… переменная хранит только одно значение в одном месте:
<? $blog = "StepkinBlog.ru"; ?>
а массив хранит одно или несколько значений в одном месте.
<? $blog[1] = "StepkinBlog.ru"; $blog[2] = "Bloggood.ru"; ?>
Давайте сказанное выше я попробую изложить в схеме:
На схеме видно, что массив имеет больше контейнеров для хранения информации, чем обычная переменная.
Хватит теории, пора переходить к практике.
Массивы бывают:
- простые
- ассоциативные
- многомерные
Простой массив имеет цифровой индекс.
Синтаксис массива:
$имя[индекс] = "хранилище";
$имя – имя массива
[индекс] – номер массива
Хранилище – здесь хранится информация, принадлежащая массиву
<?php // name - имя массива, //0, 1, 2, 3 - индексы массива $name[0]="Киви"; $name[1]="Банан"; $name[2]="Груша"; $name[3]="Яблоко"; // Вывод элемента массива name с индексом 2 echo $name[2]; ?>
name - имя массива,
0, 1, 2, 3 - индексы массива
Строка №10 – выводим массив на экран через команду «echo», указываем имя массива и его индекс:
echo $name[2];
Результат:
Груша
Кстати, не обязательно индексы писать по порядку, можно и в разброс:
<?php // name - имя массива, //5, 11, 20, 32 - индексы массива $name[5]="Киви"; $name[11]="Банан"; $name[20]="Груша"; $name[32]="Яблоко"; // Вывод элемента массива name с индексом 11 и 32 echo "Я ем ".$name[11]." и ".$name[32]; ?>
Результат:
Я ем Банан и Яблоко
Существует несколько способов создания простых массивов на php.
Cпособ №1 (вы его уже знаете)
<?php // name - имя массива, //0, 1, 2, 3 - индексы массива $name[0]="Киви"; $name[1]="Банан"; $name[2]="Груша"; $name[3]="Яблоко"; // Вывод элемента массива name с индексом 2 echo $name[2]; ?>
Способ №2
Индексы в массивах можно не проставлять, но в таком случае отсчет по-умолчанию будет начинаться с «0»:
<?php // name - имя массива, $name[]="Киви"; // индекс 0 $name[]="Банан"; // индекс 1 $name[]="Груша"; // индекс 2 $name[]="Яблоко"; // индекс 3 // Вывод элемента массива name с индексом 2 echo $name[2]; ?>
Ключ массива со значением «Киви» будет начинаться с «0»
Способ №3
Создать массив можно, используя функцию array():
<?php // name - имя массива, $name = array (0 => "Киви", 1 => "Банан", 2 => "Груша", 3 => "Яблоко"); // Вывод элемента массива name с индексом 2 echo $name[2]; ?>
Синтаксис такого способа:
$имя = array (индекс => "хранилище", индекс_1 => "хранилище");
Способ №4
Создание массива с функцией array(), не используя индекса (отсчет по-умолчанию будет начинаться с «0»):
<?php // name - имя массива, $name = array ("Киви", "Банан", "Груша", "Яблоко"); // Вывод элемента массива name с индексом 2 echo $name[2]; ?>
Синтаксис такого способа:
$имя = array ("хранилище для индекса 0", " хранилище для индекса 1");
Ассоциативный массив имеет текстовый индекс (ключ).
Синтаксис массива:
$имя[ключ] = "хранилище";
$имя – имя массива
[ключ] – текстовый ключ массива
Хранилище – здесь хранится информация, принадлежащая массиву
Пример:
<?php // name - имя массива, // название фруктов – это ключ ассоциативного массива $name[Киви]="Цена 12 грн."; $name[Банан]="Цена 22 грн."; $name[Груша]="Цена 14 грн."; $name[Яблоко]="Цена 15 грн."; // Вывод элемента массива name с ключом "Яблоко" echo $name[Яблоко]; ?>
Результат:
Цена 15 грн.
Ассоциативный массив можно записать и вот таким способом (используя функцию array()):
<?php // name - имя массива, $name = array ("Киви" => "Цена 12 грн.", "Банан" => "Цена 22 грн.", "Груша" => "Цена 14 грн.", "Яблоко" => "Цена 15 грн."); // Вывод элемента массива name с ключом "Яблоко" echo $name[Яблоко]; ?>
Многомерные массивы PHP содержат несколько ключей и несколько индексов.
Синтаксис массива:
$имя[ключ] [индекс] = "хранилище";
$имя – имя массива
[ключ] – ключ массива
[индекс] – номер массива
Хранилище – здесь хранится информация принадлежащая массиву
<?php $name[0][1]="Киви"; $name[1][0]="Банан"; $name[2][Фрукт]="Груша"; $name[3][0]="Яблоко"; // Вывод элемента массива name с индексом 2 и ключом Фрукт echo $name[2][Фрукт]; ?>
Обратите внимание на строку № 4. Я объединил в массиве ключ с индексом. Такое тоже разрешается.
Многомерные массивы можно записать и вот таким способом (используя функцию array()):
<?php // Многомерный массив $user["Ivanov"] = array("name"=>"Иванов И.И.", "age"=>"22", "email"=>"ivanov@gmail.com"); $user["Petrov"] = array("name"=>"Петров П.П.", "age"=>"24", "email"=>"petrov@gmail.com"); $user["Sidorov"] = array("name"=>"Сидоров С.С.", "age"=>"27", "email"=>"sidorov@gmail.com"); echo $user["Ivanov"]["name"].' исполняется '.$user["Ivanov"]["age"].' года. Поздравим его - '.$user["Ivanov"]["email"] ; ?>
Результат:
Иванову И.И. исполняется 22 года. Поздравим его - ivanov@gmail.com
На заметку:
Бывают такие моменты, когда нужно узнать, что отправляется через массив или какая информация находится в массиве (абсолютно вся информация).
Этот способ поможет посмотреть на сайте весь массив сразу, но нужно узнать переменную массива и прописать вот такую функцию:
<? print_r($name); ?>
Например:
<?php $name[]="Киви"; $name[]="Банан"; $name[]="Груша"; $name[]="Яблоко"; // Вывод массива name на экран echo '<pre>'; print_r($name); echo '</pre>'; ?>
Результат:
Array
(
[0] => Киви
[1] => Банан
[2] => Груша
[3] => Яблоко
)
Вывод похож на синтаксис функций Array(), только нужно дописать запятые, кавычки, точку с запятой и переменную:
<? $name = Array ( "0" => "Киви", "1" => "Банан", "2" => "Груша", "3" => "Яблоко" ); echo $name[3]; ?>
Вот и разобрали мы с вами тему массивов и испробовали на практике простые, ассоциативные и многомерные массивы. Научились создавать массивы и выводить на экран. Но на этом мы не заканчиваем тему массивов, так как в следующем уроке вы познакомитесь с циклом foreach и я покажу, что можно сделать с массивами.
Так что подписывайтесь на обновление моего блога и не пропускайте занятий .