PHP/Масиви
Масив (англ. Array) — структурований набір даних, що складається з індексів (ключів) і значень. Є змішаним типом даних. Розрізняють такі типи масивів:
- Індексований — елементи мають тільки числові індекси. Найчастіше нумерація індексів в такому масиві йде по зростанню від нуля (тобто перший елемент з ключем 0).
- Асоціативний — елементи мають тільки рядкові індекси.
Простими словами, це ніби один елемент, що об'єднує змінні (бо в змінної є ім'я і значення, як і у елементів масиву є індекс і значення). Якщо ім'я змінної число, то це індексований масив, якщо рядок — асоціативний. А елементами масивів можуть бути різні типи даних.
Індексовані або прості масиви
[ред.]Кожному значенню в масиві відповідає числовий індекс, який за замовчуванням рахується з нуля. Він не є нумерацією, адже його можна задати самостійно.
// Створити
$масив = []; // пустий масив, також можливо через функцію array()
$масив = ["Олексій", "Іванов"]
//Занести значення в масив
$масив[] = 20; // Додали в масив елемент 20 з індексом 2 (попередній індекс+1)
$масив[] = "18"; // Додали в масив елемент 18 з індексом 3
$масив2[5] = 10; // Створиться масив з одним елементом "10", індекс якого буде "5"
$масив2[99] = 30; // Додали елемент "30" з індексом "99"
$масив2[] = 20; // Додали елемент "20" з індексом "6"
Вивести зміст масивів можна двома функціями:
- print_r виводить результат у форматі [ключ] => значення
- var_dump виводить детальний результат, вказує типи даних, кількість байтів, що займає елемент (для рядків).
print_r ($масив);
//Результат:
Array (2) {
[0] => Олексій
[1] => Іванов
[2] => 20
[3] => 18
}
|
var_dump ($масив);
//Результат:
Array (2) {
[0] => string(14) "Олексій"
[1] => string(12) "Іванов"
[2] => int(20)
[3] => string(1) "18"
}
|
//Вивести певний елемент
echo $масив2[6] // Результат: 20
|
Якщо використати оператор echo зі змінною, в котрій масив, без квадратних дужок, з'явиться помилка Notice: Array to string conversion (конвертація масиву в рядок), а нижче буде слово Array.
Асоціативні або масиви з рядковими індексами
[ред.]У індексованому масиві важно знайти потрібне значення, якщо не відомо його індексу. В асоціативному масиві індекс задається рядком, це також називають ключем. Завдяки цьому, ключі можуть мати логічне значення, скористатись яким буде не важко.
$кількість = ['цукор' => 5, 'сіль' => 10];
echo "Залишилося ".$кількість['цукор'].' кг цукру.<br>';
echo "Залишилося ".$кількість['сіль'].' кг солі.<br>';
/*
* Результат:
Залишилося 5 кг цукру.
Залишилося 10 кг солі.
*/
Ключі в такому масиві можуть задаватися й змінними.
$крупа1 = 'Пшенична крупа';
$крупа2 = 'Гречана крупа';
$крупа3 = 'Макарони';
$кількість = [$крупа1 => 10,
$крупа2 => 5,
$крупа3 => 12];
echo "$крупа1 - залишилося ".$кількість[$крупа1].' кг <br>';
echo "$крупа2 - залишилося ".$кількість['Гречана крупа'].' кг <br>';
echo "$крупа3 - залишилося ".$кількість["Макарони"].' кг <br>';
/*Результат:
Пшенична крупа - залишилося 10 кг
Гречана крупа - залишилося 5 кг
Макарони - залишилося 12 кг
*/