Масиви в PHP
Масив в PHP це змінна в якій може зберігатись багато значень. А в змінній тільки одно значення.
Як створити масив?
відлік значень в маиві 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 |