Вы здесь: Главная > Основы разработки сайта > Основы PHP > 20 урок - Тип данных массивы

Основы PHP

20 урок - Тип данных массивы

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

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

 
$имя[индекс];
 

Где Имя – это имя массива. А в квадратных скобочках его индекс. Например, имя играет роль холодильника, а индекс играет роль продукта. Если индекс числовое значение, то такой массив называется простой массив, а если буквенный, то ассоциативный массив

Посмотрим пример простого массива:

<?php
 
// Здесь: names - имя массива, а 0, 1, 2, 3 - индексы массива
$names[0]="Апельсин";
$names[1]="Банан";
$names[2]="Груша";
$names[3]="Помидор";
 
// Вывод элемента массива names с индексом 0
echo $names[0];
 
?>

В примере, names - имя массива, а 0, 1, 2, 3 - индексы массива.

Индексы могут быть в любом разбросе. Например:

<?php
 
// Здесь: names - имя массива, а 0, 1, 2, 3 - индексы массива
$names[100]="Апельсин";
$names[5]="Банан";
$names[300]="Груша";
$names[150]="Помидор";
 
// Вывод элемента массива names с индексом 300
echo $names[300];
 
?>

Если индексы не проставлять, то они начинаются с нуля!!!

<?php
$names[]="Апельсин"; // индекс 0
$names[]="Банан";// индекс 1
$names[]="Груша";// индекс 2
$names[]="Помидор";// индекс 3
 
// Вывод элемента массива names с индексом 3
echo $names[3];
 
?>

Это надо запомнить, что если не установлен индекс, то он начинается с нуля!

Для работы с массивами есть специальная функция Array(). 

Синтаксис функции Array();

<?php
$arr = Array('key0'=>'val0' , 'key1'=>'val1'); // Определяем массив
echo $arr['key0']; // Обращение к элементу с ключом key. Выведет val0
?>

Запишем выше пример, используя эту функцию:

<?php
$names = Array( 0=>'Апельсин', 1=>'Банан', 2=>'Груша', 3=>'Помидор');
echo $names[0];
?>

Можно укоротить запись опустив индексы:

<?php
$names = Array('Апельсин','Банан', 'Груша', 'Помидор');
echo $names[0];
?>

Индексы начинаются с нуля. Поэтому нулевому индексу соответствует – Апельсин. 

Теперь рассмотрим пример ассоциативного массива:

<?php
$names["Иванов"]="Иван";
$names["Сидоров"]="Николай";
$names["Петров"]="Петр";
// фамилии - это ключи ассоциативного массива, а имена - элементы массива names
 
echo $names["Иванов"];
?>

Ассоциативные массивы особенно удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами.

Всё что мы рассматривали это были одномерные массивы. Но массивы бывают и многомерными. То есть они содержат несколько ключей и несколько индексов. Пример такого массива:

<?php
// Многомерный простой массив:
$names[0][0]="Овощи";
$names[0][1]="Фрукты";
$names[1][0]="Абрикос";
$names[1][1]="Апельсин";
$names[1][2]="Банан";
$names[2][0]="Огурец";
$names[2][1]="Помидор";
$names[2][2]="Тыква";
 
echo $names[0][1];
?>

Для лучшего понимания, лучше использовать многомерные ассоциативные массивы и специальную функцию Array(); которую мы рассмотрели выше. Пример:

<?php
// Многомерный массив
$A["Ivanov"] = array("name"=>"Иванов И.И.", "age"=>"25", "email"=>"ivanov[@]mail.ru");
$A["Petrov"] = array("name"=>"Петров П.П.", "age"=>"34", "email"=>"petrov[@]mail.ru");
$A["Sidorov"] = array("name"=>"Сидоров С.С.", "age"=>"47", "email"=>"sidorov[@]mail.ru");
 
echo $A["Ivanov"]["name"];
?>

В следующем уроке мы будем перебирать массивы. Для этого есть специальная конструкция  foreach.