Масиви в PHP
Масив в PHP це змінна в якій може зберігатись багато значень. А в змінній тільки одно значення.
Як створити масив?
:winked: відлік значень в маиві php починається з нуля!
//Обявляємо масив
$name = array("Alex", "Vlad", "Galina");
для рнр8 бажано писати:
$name = [Alex, Vlad, Galina];
//Виводимо друге значення з масиву
echo $names[2];
//На екрані появиться - Galina
Асоціативні масиви:
$name = array("man"=>"Alex", "student"=>"Vlad", "gerl"=>"Galina");
//Для рнр8 масив записуємо так:
$name = ["man"=>"Alex", "student"=>"Vlad", "gerl"=>"Galina"];
//Тепер виводимо значення для ключа gerl:
echo $name['gerl']
//На екрані з'явиться - Galina
Багатомірні масиви
Можна вкласти масив у масив - тоді для виклику підмасиву Вам знадобиться вже два індекси. Для тривимірного масиву потрібно вже буде три індекси.
//Задаємо багатовимірний масив
$families = array(array("Tom", "Alice"), array("Bob", "Kate"));
//або по новому:
$families = [["Tom", "Alice"], ["Bob", "Kate"]];
//Виводимо
print_r($families);
//результат
Array(
[0] => Array
(
[0] => Tom
[1] => Alice
)
[1] => Array
(
[0] => Bob
[1] => Kate
)
)
Багатовимірний асоціативний масив в PHP8:
$array =
[
'ard_pc_sort' =>
[
's_caption' => 'n',
's_date' => '2022-11-23',
's_date_last' => '2022-11-23',
's_author' => 'admin',
's_viev' => '0'
],
'ard_pc_info' =>
[
'i_author_edit' => 'admin',
'i_icon' => 'default',
'i_map' => '0.1',
'i_url' => 'nazva',
'i_word_count' => '100',
'i_anc-link' => '0'
]
];
Робота з масивами в PHP8:
Як вивести масив у список ul?
<?php
$flowers = [ [ ["рози", 100 , 15],
["тюльпани", 60 , 25],
["орхідеї", 180 , 7]
],
[ ["рози", 100 , 15],
["тюльпани", 60 , 25],
["орхідеї", 180 , 7],
],
[ ["рози", 100 , 15],
["тюльпани", 60 , 25],
["орхідеї", 180 , 7]
]
];
echo "<ul>";
for ( $layer = 0; $layer < 3; $layer++ )
{
echo "<li>Номер слоя $layer";
echo "<ul>";
for ( $row = 0; $row < 3; $row++ )
{
echo "<li>Номер строки $row";
echo "<ul>";
for ( $col = 0; $col < 3; $col++ )
{
echo "<li>".$flowers[$layer][$row][$col]."</li>";
}
echo "</ul>";
echo "</li>";
}
echo "</ul>";
echo "</li>";
}
echo "</ul>";
?>
Объединить массив "array_merge":
$masiv1 = [
"malina",
"grysha"
];
$masiv2 = [
"aplle",
"potyeto"
];
$newarr = array_merge($masiv1, $masiv2);
foreach($newarr as $key => $value) {
echo "kluch" . $key . "znachenie" . $value . "<br>";
}
Список функцій для роботи з массивами
| Функция | Описание |
|---|---|
| array_chunk | Разбивает массив на несколько меньших массивов заданного размера |
| array_combine | Создает массив из двух заданных массивов - массива индексов элементов и массива значений |
| array_count_values | Формирует массив, индексами которого являются значения заданного массива, а значениями - число повторений соответствующего значения в заданном массиве |
| array_diff | Формирует массив из тех элементов первого заданного массива, которые отсутствуют в остальных заданных в качестве аргументов функции массива |
| array_fill | Заполняет массив заданным значением |
| array_intersect | Формирует массив из элементов, которые присутствуют во всех заданных массивах |
| array_key_exists | Проверяет наличие заданного индекса в массиве |
| array_keys | Возвращает массив из индексов заданного массива |
| array_merge | Объединяет несколько массивов в один |
| array_multisort | Выполняет сортировку многомерного массива или нескольких одномерных массивов |
| array_pad | Дополняет массив до заданного количества элементов заданным значением |
| array_pop | Возвращает последний элемент массива, одновременно удаляя элемент из массива |
| array_push | Добавляет заданные элементы в конец массива |
| array_rand | Выбирает один или несколько случайно взятых элементов из массива |
| array_reduce | Осуществляет последовательное применение заданной функции к элементам массива, формируя итоговое значение |
| array_reverse | Производит обращение массива - первый элемент становится последним, второй - предпоследним и т.д. |
| array_search | Ищет заданный элемент в массиве и возвращает соответствующим ему индекс |
| array_shift | Возвращает первый элемент массива, одновременно удаляя его из массива с перенумерацией числовых индексов |
| array_slice | Вырезает из массива подмассив заданной длины, начиная с указанного элемента |
| array_sum | Вычисляет сумму всех элементов массива |
| array_unique | Удаляет дублирующиеся значения из массива |
| array_unshift | Добавляет один или несколько элементов в начало массива с перенумерацией числовых индексов |
| array_walk | Вызывает заданную функцию последовательно для каждого элемента массива |
| array | Создает массив из заданных значений или пар индекс - значение |
| arsort | Сортирует массив по убыванию его значений, сохраняя индексы неизменными |
| asort | Сортирует массив по возрастанию его значений, сохраняя индексы неизменными |
| krsort | Сортирует массив по убыванию его индексов |
| ksort | Сортирует массив по возрастанию его индексов |
| sort | Сортирует массив по возрастанию значений его элементов с перенумерацией его индексов |
| usort | Сортирует массив с использование заданной функции сравнения элементов массива |
| rsort | Сортирует массив по убыванию значений его элементов с перенумерацией его индексов |
| natcasesort | Сортирует массив естественным образом без учета регистра массива |
| natsort | Сортирует массив естественным образом с учетом регистра символов |
| count | Возвращает количество элементов в массиве |
| current | Возвращает значение текущего элемента массива |
| each | Возвращает текущие индекс и значение элемента массива и продвигает указатели на следующий элемент |
| in_array | Проверяет, присутствует ли заданное значение в массиве |
| key | Возвращает индекс текущего элемента массива |
| list | Присваивает значения из массива списку переменных |
| pos | Синоним функции current |
| reset | Устанавливает внутренний указатель на первый элемент массива |
| shuffle | Переставляет элементы массива случайным образом |
| sizeof | Синоним функции count |