Архіви позначок: list

Масиви – “квінтесенція мудрості”

Поширте інформацію:

В 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"=>"Оксана");

Ось так, малята. Про перебір елементів масивів і операції над масивами буде далі.