Загрузка

RUS | ANG | |

StepkinBlog.ru

Пока я творю, я живу!
Блог посвящен: HTML, CSS, PHP, Wordpress, Bootstrap

Главная » Основы PHP » Работа с массивами. Основы PHP с нуля. Урок №13

17.10.2017


21:03


1003


пока нет


Работа с массивами. Основы PHP с нуля. Урок №13

Работа с массивами. Основы PHP с нуля. Урок №13

Всем привет!
Продолжаем изучать основы PHP с нуля!
В этом уроке я расскажу вам про массивы и научу с ними работать.
Вы часто будете использовать массивы в своем коде, так что внимательно читайте!

Что такое массив?
Массив – это своего рода контейнер, который хранит в себе информацию.
Например, представьте, что вы – библиотекарь. У вас огромные шкафы с книгами. Все они стоят по жанрам и авторам. Благодаря этому вы можете легко найти нужную книгу, нужного автора.
Так вот, массив это и есть этот шкаф, в котором хранятся книги (информация).

 

Массив чем-то похож на переменные, тоже хранит информацию, но…
… переменная хранит только одно значение в одном месте:

<?
$blog = "StepkinBlog.ru";
?>

а массив хранит одно или несколько значений в одном месте.

<?
$blog[1] = "StepkinBlog.ru";
$blog[2] = "Bloggood.ru";
?>

Давайте сказанное выше я попробую изложить в схеме:

Работа с массивами. Основы PHP с нуля. Урок №13

На схеме видно, что массив имеет больше контейнеров для хранения информации, чем обычная переменная.

Хватит теории, пора переходить к практике.

Массивы бывают:

- простые
- ассоциативные
- многомерные

Простые массивы php

Простой массив имеет цифровой индекс.

Синтаксис массива:

$имя[индекс] = "хранилище";

$имя – имя массива
[индекс] – номер массива
Хранилище – здесь хранится информация, принадлежащая массиву

<?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-массив

Ассоциативный массив имеет текстовый индекс (ключ).

Синтаксис массива:

$имя[ключ] = "хранилище";

$имя – имя массива
[ключ] – текстовый ключ массива
Хранилище – здесь хранится информация, принадлежащая массиву

Пример:

<?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 содержат несколько ключей и несколько индексов.

Синтаксис массива:

$имя[ключ] [индекс] = "хранилище";

$имя – имя массива
[ключ] – ключ массива
[индекс] – номер массива
Хранилище – здесь хранится информация принадлежащая массиву

<?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 и я покажу, что можно сделать с массивами.
Так что подписывайтесь на обновление моего блога и не пропускайте занятий :coffe:.



Случайные записи:

  1. Изображение. Основы bootstrap 3 для начинающих. Урок №15
  2. Тег div в HTML. Основы HTML для начинающих. Урок №17
  3. Коды цветов в HTML. Основы HTML для начинающих. Урок №11
  4. Как сделать фоновую музыку на сайте – HTML и HTML5
  5. Информеры. Основы bootstrap 3 для начинающих. Урок №20

Последние записи рубрики:

  1. Полезные функции php List, Isset, Unset, Empty, Date, Count и Exit. Основы PHP с нуля. Урок №18
  2. Подключение файлов php через Include или Require. Основы PHP с нуля. Урок №17
  3. Функции (function). Основы PHP с нуля. Урок №16
  4. Альтернативный синтаксис управляющих структур. Основы PHP с нуля. Урок №15
  5. Цикл Foreach. Основы PHP с нуля. Урок №14

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Подписаться на обновления:

Подпишись на обновления моего блога через e-m@il:

@

Реклама на блоге:

Мои цели на
2017 год:

Довести количество статей до 150

Доделать этот блог

Закончить тему «Основы CSS»

Закончить тему «Основы PHP»

Начать тему «Основы JavaScript»

Добиться посещаемости 500 чел/сутки

Статистика:

Записей: 104
Страниц: 3
Рубрик: 9
Меток: 11
Комментариев: 245