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