Модификация элементов массива в PHP
Нередко, нужно изменить значение того, или иного элемента массива, для этого нужно всего лишь обратится к элементу массива по его индексу и присвоить ему новое значение.
Например, у нас есть массив:
Для того, чтобы изменить значение элемента используем оператор присвоения:
<?php$arr[1] = "JAVASCRIPT";?>Для того, чтобы добавить новый элемент в конец массива использует конструкцию:
<?php$arr[] = "JQUERY";?>Для того, чтобы вывести на экран массив можно использовать foreach:
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; $arr[1] = "JAVASCRIPT";$arr[] = "JQUERY"; foreach($arr as $key => $value) { // при переборе: $key - индекс элемента массива, $value - значение элемента массива echo $value.'<br/>';}?>Отображение в браузере:
PHPJAVASCRIPTCSS JQUERYУдаление элементов массива в PHP
Если нам нужно удалить один из элементов массива, то для этого мы должны использовать функцию unset
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; unset($arr[1]); foreach($arr as $key => $value) { echo $value.'<br/>';}?>Перебор элементов массива в PHP
Кроме использования цикла for для вывода всех элементов массива на экран мы можем использовать функцию print_r, которая выведет все элементы массива вместе с их индексами.
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; print_r($arr); ?>Отображение в браузере:
Array ( [0] => PHP [1] => HTML [2] => CSS )Также, чтобы результат вывода функции print_r был более наглядным рекомендую перед использованием функции писать echo "<pre>";, а после функции - echo "</pre>"; Что такое тег pre?
|
|
Также в PHP присутствует специальный цикл для обработки массивов - цикл foreach
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; foreach($arr as $value){ echo $value, "<br>";} ?>Отображение в браузере:
PHPHTMLCSSДля вывода индекса элемента нужно использовать второй вариант синтаксиса цикла foreach
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; foreach($arr as $key => $value) { // $key - индекс элемента массива, $value - значение элемента массива echo "[{$key}] => {$value} <br/>";}?>Отображение в браузере:
[0] => PHP[1] => HTML[2] => CSSФункции для работы с массивами в PHP
Для работы с массивами в PHP предусмотрено очень много функций, полный список которых находиться ниже:
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 |
Более подробную информацию про все функции для работы с массивами вы можете найти на странице официальной документации.
|
|
|
|
|
|
Сортировка массивов в PHP
Очень часто нужно отсортировать массив по индексу его элементов, по алфавиту его элементов, по возрастанию, по убыванию и т. д. В PHP для этого существует достойное количество функций, и в этом уроке мы поговорим именно о них.
Первая функция - sort, которая сортирует массив по возрастанию значений его элементов, при этом изменяя индекс после сортировки:
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; sort($arr); print_r($arr);?>Отображение в браузере:
Array ( [0] => CSS [1] => HTML [2] => PHP )Вторая функция - rsort, которая сортирует массив по убыванию значений его элементов, при этом не изменяя индекс после сортировки:
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; rsort($arr); print_r($arr);?>Отображение в браузере:
Array ( [0] => PHP [1] => HTML [2] => CSS )Третья функция - ksort, которая сортирует массив по ключам, сохраняя отношения между ключами и значениями:
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; ksort($arr); print_r($arr); ?>Отображение в браузере:
Array ( [0] => PHP [1] => HTML [2] => CSS )Следующая функция - krsort, которая сортирует массив по убыванию индексов его элементов:
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; krsort($arr); print_r($arr); ?>Отображение в браузере:
Array ( [2] => CSS [1] => HTML [0] => PHP )Это основные, но не все функции для сортировки массивов, больше функций смотрите
на странице - Функции для работы с массивами в PHP
Навигация по массивам в PHP
Навигация по массива дает возможно узнать текущий , следующий, предыдущий, последний элемента массива.
Для определения текущего элемента массива используют функцию current:
<?phpecho "Now is: ", current($arr), "<br>";?>Для определения следующего элемента массива используют функцию next:
<?phpecho "Next is: ", next($arr), "<br>";?>Для определения предыдущего элемента массива используют функцию prev:
<?phpecho "Previously is: ", prev($arr), "<br>";?>Для определения последнего элемента массива используют функцию end:
<?phpecho "The end is: ", end($arr), "<br>";?>Для определения первого (возврата указателя) элемента массива используют функцию reset:
<?phpecho "First is: ", reset($arr), "<br>";?>Пример навигации по массивам:
<?php$arr[0] = "PHP"; $arr[1] = "HTML"; $arr[2] = "CSS"; echo "Now is: ", current($arr), "<br>";echo "Next is: ", next($arr), "<br>";echo "Previously is: ", prev($arr), "<br>";echo "The end is: ", end($arr), "<br>";echo "First is: ", reset($arr), "<br>";?>Отображение в браузере:
Now is: PHPNext is: HTMLPreviously is: PHPThe end is: CSSFirst is: PHP
Дата добавления: 2018-06-27; просмотров: 1033; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!