В PHP розрізняють списки (масиви з числовими індексами) та асоціативні масиви, ключами (індексами) в яких є рядки (асоціативні масиви іноді називають “хеші”). Насправді всередині PHP вони реалізовані однаково, тому функціям, які вимагають список, майже завжди можна передавати асоціативний масив і навпаки.
Як відомо, в PHP немає потреби оголошувати змінних. Тому ініціалізувати список дуже просто:
$NamesList[0] = "serhiy";
$NamesList[1] = "mary";
А можна ще простіше:
$NamesList[] = "sashko";
Така інструкція створює новий список (або додає елемент в кінець вже існуючого), автоматично нумеруючи елементи.
Асоціативний масив створюється аналогічно, але замість числових ключів треба вказувати рядки (будь-які рядки без обмежень):
$Names["Колобок"] = "Стіпан";
$Names["Мотузочка"] = "Терешко";
Далі можна вказувати команди:
echo $Names["Мотузочка];
$f = "Колобок";
echo $Names[$f];
Ще можна створювати або доповнювати масиви за допомогою інструкції array:
// Створює порожній масив $Names
$Names = array();
// Створює такий самий масив, як і в попередньому прикладі
$Names = array("Колобок"=>"Стіпан", "Мотузочка"=>"Терешко");
// Створює список з іменами (пронумерований 0, 1, 2)
$NamesList = array("serhiy", "mary", "sashko");
Елементи списка можна завантажити у набір змінних за допомогою інструкції list :
list($name, $surname, $age) = $DataArray;
Можна задіяти будь-яку кількість змінних – якщо в списку не вистачить елементів, щоб їх заповнити, змінні будуть невизначеними.
Багатовимірні масиви – це також дуже просто. Наприклад, щоб зберігати, крім імені, також вік людини, можна створити масив:
$Names["Колобок"] = array("name"=>"Стіпан","age"=>25);
$Names["Мотузочка"] = array("name=>"Терешко","age"=>23);
або так:
$Names = array(
"Колобок"=>array("name"=>"Стіпан","age"=>25),
"Мотузочка"=>array("name=>"Терешко","age"=>23));
А ось масив, перший індекс якого – числовий, а інші – рядкові:
$Data[] = array("person_id"=>10, "person_name"=>"Оксана");
Ось так, малята. Про перебір елементів масивів і операції над масивами буде далі.