Работа с массивами
- Подробности
- Категория: PHP
- Просмотров: 125
Работа с массивами в PHP - это один из основных разделов в изучении данного языка программирования...
Массив - это как сборка элементов(ключ => значение) или же еще называют (индекс => элемент). Бывают ассоциативные(тут ключ это какое-то слово) и целочисленные(тут ключ это цифра). Примеры будут ниже и все станет понятно.
Как создать массив:
<?php
$arr = array(
'самолет',
'машина',
'велосипед'
);
print_r($arr); // выводим на печать массив таким образом
echo "<br>";
// далее второй способ создания массива и его наполнения сразу
$arr2 = []; // создали, теперь ниже займемся его наполнением
$arr2[] = 'рубли';
$arr2[] = 'доллары';
$arr2[] = 'юани';
print_r($arr2);
тут в квадратных скобках можно указать и цифры - как индекс, или же, если хотите наполнять ассоциативный массив, то указывать словами:
$arr3 = []; // создали, теперь ниже займемся его наполнением
$arr2['ru'] = 'рубли';
$arr2['usa'] = 'доллары';
$arr2['china'] = 'юани';
print_r($arr3);
Еще один способ создание фиксированного количества элементов массива с одинаковым наполнением :
$array = array_fill(4, 5, 'Изучаю');
print_r($array);
print_r($arr);
Получим то, что и называется массивом, вот он так и выглядит:
Array
(
[4] => Изучаю
[5] => Изучаю
[6] => Изучаю
[7] => Изучаю
[8] => Изучаю
)
Explode и Implode
Explode
explode($delimiter, $string) - функция для преобразования строки $string в массив с указанием разделителя $delimiter
$str = 'Приборы, инструменты, молоток, шуруповерт';
$arr = explode(',', $str);
print_r($arr);
Результат:
Array
(
[0] => Приборы
[1] => инструменты
[2] => молоток
[3] => шуруповерт
)
Implode
implode($separator, $arr) - создает из массива $arr строку, где разделителем между элементами будет $separator.
$arr4 = [
'one' => 'Приборы',
'two' => 'инструменты',
'three' => 'молотоок',
'four' => 'шуруповерт'
];
$str = implode(', ', $arr4);
echo $str; // уже выводим как строку
Результат будет такой (индекс теряется! даже, если это ассоциативный массив):
Приборы, инструменты, молотоок, шуруповерт
Часто используемые функции
Количество элементов массива
Часто необходимо знать и далее оперировать количеством элементов, делается это с помощью двух функций:
echo count($array);
// или же, но обычно используют первую
echo sizeof($array);
Ответ будет: конечно же цифра.
Для многомерном массива надо добавить COUNT_RECURSIVE
echo count($array, COUNT_RECURSIVE);
Добавление элемента в начало массива
array_unshift($array, $value)
Добавление элемента в конец массива
array_push($array, $value)
Как извлечь (удалить) первый элемент массива в PHP
Функция array_shift($arr) не только извлекает первый элемент массива, она также удаляет его из него;
print_r($arr);
$x = array_shift($arr);
print_r($arr);
Результат такой:
Array
(
[0] => 1
[1] => 46
[2] => 24
)
Array
(
[0] => 46
[1] => 24
)
При этом видите, я присвоил $x значение, которое извлек, то есть его могу и распечатать.
Как извлечь (удалить) последний элемент массива в PHP
Функция array_pop();
Работает аналогично, что выше;
Как вернуть часть массива
Иногда нужно оперировать только частью выборки, в этом случае нам поможет функция:
array_slice($array, $offset, $length) возвращает часть массива начиная с индекса $offset и длиной $length.
Если нужно начать отсчет с конца массива, то нужно $offset сделать отрицательным.
! Если не указать $length, то получим все элементы, начиная с $offset и до конца.
$arr4 = [
'one' => 'Приборы',
'two' => 'инструменты',
'three' => 'молоток',
'four' => 'шуруповерт'
];
echo "Это слайс массива<br>";
$new = array_slice($arr4, 0, 2);
print_r($new);
Результат:
Array
(
[one] => Приборы
[two] => инструменты
)
Преобразование ассоциативного массива в целочисленный
Для этого есть функция array_values($arr);.
$arr4 = [
'one' => 'Приборы',
'two' => 'инструменты',
'three' => 'молоток',
'four' => 'шуруповерт'
];
echo "Это преобразование массива из ассоциативного в целочисленный<br>";
$new = array_values($arr4);
print_r($new);
Результат:
Array
(
[0] => Приборы
[1] => инструменты
[2] => молоток
[3] => шуруповерт)