Урок 8. Функции работы с массивами в PHP

Урок 8. Функции работы с массивами в PHP

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Урок 8. Функции работы с массивами в PHP

Урок 8. Функции работы с массивами в PHP

www.homa.xp3.biz

Теория

Методы и функции: count, in_array, array_sum, array_product, range, array_merge, array_merge_recursive, array_slice, array_splice, array_keys, array_values, array_combine, array_flip, array_reverse, array_search, array_replace, array_count_values, функции для сортировки, array_rand, shuffle, array_unique, array_shift, array_pop, array_unshift, array_push, array_pad, array_fill, array_fill_keys, array_chunk, array_count_values, array_intersect, array_diff, array_map

Функция count

Функция count подсчитывает количество элементов массива.

Синтаксис: count(массив).

Пример

Функция вернет количество элементов массива:

<?$a=['a','b','c','d'];echo count($a)?>

4.

Функция in_array

Функция in_array проверяет наличие заданного элемента в массиве.

Синтаксис: in_array(что искать,в каком массиве). Если элемент есть, то результат будет 1, если нет, - пусто (true, falshe(?)).

Пример

Проверить, есть ли в массиве $a элемент со значением 3:

<?$a=[1,2,3,4,5];echo in_array(3,$a)?>

1.

<?$a=[1,2,3,4,5,3,3,3];echo in_array(3,$a)?>

1.

<?$a=[1,2,3,4,5];echo in_array(8,$a)?>

.

Функция array_sum

Функция array_sum вычисляет сумму элементов массива.

Синтаксис: array_sum(массив).

Пример

Найти сумму элементов массива:

<?$a=[1,2,3,4,5];echo array_sum($a)?>

15.

Пример

Найти сумму цифр числа. Для этого разобьем число в массив с помощью str_split и сложим элементы этого массива с помощью array_sum:

<?$n=12345;echo array_sum(str_split($n,1))?>

15.

Функция array_product

Функция array_product вычисляет произведение элементов массива (умножает).

Синтаксис: array_product(массив).

Пример

Найти произведение элементов массива:

<?$a=[1,2,3,4,5];echo array_product($a)?>

120.

Функция range

Функция range создает массив с диапазоном элементов. К примеру, можно создать массив, заполненный числами от 1 до 100 или буквами от 'a' до 'z'. Диапазон, который сгенерирует функция, задается параметрами: 1-й параметр откуда генерировать, а 2-й - докуда.

3-й необязательный параметр функции задает шаг. К примеру, можно сделать ряд 1,3,5,7, если задать шаг 2, или ряд 1,4,7,10 если задать шаг 3.

Синтаксис: range(откуда,докуда,[шаг]).

Пример

Создать массив, заполненный числами от 1 до 5:

<?$a=range(1,5);print_r($a)?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

Пример

Создать массив, заполненный числами от 5 до 1:

<?$a=range(5,1);print_r($a)?>

Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )

Пример

Создать массив, заполненный числами от 0 до 10 c шагом 2:

<?$a=range(0,10,2);print_r($a)?>

Array ( [0] => 0 [1] => 2 [2] => 4 [3] => 6 [4] => 8 [5] => 10 )

Пример

Создать массив, заполненный буквами от 'a' до 'e':

<?$a=range('a','e');print_r($a)?>

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

Функция array_merge

Функция array_merge сливает 2 и более массива вместе.

Если в сливаемых массивах встречаются одинаковые ключи, останется только 1 из таких элементов. Если нужно, чтобы остались все элементы с одинаковыми ключами, используйте функцию array_merge_recursive.

ПРОВЕРЬ!!!

Синтаксис: array_merge(1 массив,2 массив,…).

Пример

Функция слила массивы:

<?$a=[1,2,3];$b=['a','b','c'];$r=array_merge($a,$b);print_r($r)?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => a [4] => b [5] => c ) .

<?$a=[1,2,3];$b=[1,'b','c'];$r=array_merge($a,$b);print_r($r)?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => b [5] => c ) .

Функция array_merge_recursive

Функция array_merge_recursive сливает 2 и более массива вместе.

Отличие от функции array_merge проявляется тогда, когда в сливаемых массивах есть одинаковые ключи. В этом случае array_merge_recursive оставляет оба ключа.

Синтаксис: array_merge_recursive(1 массив,2 массив,…).

Пример

В данном примере 2 массива слились вместе с помощью array_merge_recursive.

Обратите внимание на то, что станет с элементами с одинаковыми ключами 'www':

<?$a=['www'=>'a','b','c'];$b=['www'=>1,2,3];$r=array_merge_recursive($a,$b);print_r($r)?>

Array ( [www] => Array ( [0] => a [1] => 1 ) [0] => b [1] => c [2] => 2 [3] => 3 ) .

Для сравнения смотрите, как сработает функция array_merge - останется только последний элемент:

<?$a=['www'=>'a','b','c'];$b=['www'=>1,2,3];$r=array_merge($a,$b);print_r($r)?>

Array ( [www] => 1 [0] => b [1] => c [2] => 2 [3] => 3 ) .

Функция array_slice

Функция array_slice отрезает и возвращает часть массива. При этом сам массив не меняется. 1-м параметром указывается массив для разрезания. 2-м параметром указывается, с какого элемента начинать отрезание, а 3-м - сколько элементов отрезать. 3-й параметр может быть отрицательным, в этом случае отсчет начнется с конца (-1 - последний элемент, -2 - предпоследний и так далее). 3-й параметр можно вообще не указывать, в этом случае массив отрежется до самого конца.

Последний необязательный параметр регулирует, сохранять ли ключи при отрезании (true - сохранять, false (по умолчанию) - не сохранять)(? И так сохраняет. PHP5).

Синтаксис: array_slice(массив,откуда отрезать,[сколько],[сохранять ключи=false]).

Напоминаем: элементы массива считаются с 0.

Пример

Вырезать 3 элемента с 0-го:

<?$a=['a','b','c','d','e'];print_r(array_slice($a,0,3))?>

Array ( [0] => a [1] => b [2] => c ) .

Пример

Вырезать 3 элемента с 1-го:

<?$a=['a','b','c','d','e'];print_r(array_slice($a,1,3))?>

Array ( [0] => b [1] => c [2] => d ) .

Пример

Вырезать элементы с 1-го до конца массива. Для этого 3-й параметр не пишем:

<?$a=['a','b','c','d','e'];print_r(array_slice($a,1))?>

Array ( [0] => b [1] => c [2] => d [3] => e ) .

Пример

Вырезать элементы с предпоследнего, 2 штуки. Для этого 2-й параметр установим в -2 (позиция предпоследнего элемента):

<?$a=['a','b','c','d','e'];print_r(array_slice($a,-2,2))?>

Array ( [0] => d [1] => e ) .

Пример

По умолчанию массив не сохраняет(?) ключи при вырезании:

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];print_r(array_slice($a,0,3))?>

Array ( [a] => 1 [b] => 2 [c] => 3 ) .

Сохраняет. PHP5!

Пример

Сделать так, чтобы ключи сохранялись(?). Для этого последний параметр установим как true:

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];print_r(array_slice($a,0,3,true))?>

Array ( [a] => 1 [b] => 2 [c] => 3 ) .

И без true сохраняет. PHP5!

Функция array_splice

Функция array_splice отрезает и возвращает часть массива. При этом отрезанная часть исчезает из массива.

Вместо отрезанной части можно вставлять новые элементы.

1-м параметром указывается массив для разрезания. 2-м параметром указывается, с какого элемента начинать отрезание, а 3-м - сколько элементов отрезать. 3-й параметр может быть отрицательным, в этом случае отсчет начнется с конца (-1 - последний элемент, -2 - предпоследний и так далее). 3-й параметр можно вообще не указывать, в этом случае массив отрежется до самого конца.

В последнем необязательным параметре можно задавать массив элементов, которые будут вставлены взамен удаленных.

Синтаксис: array_splice(массив,откуда отрезать,[сколько],[вставить взамен]).

Напоминаем: элементы массива считаются с 0.

Пример

Вырезать 3 элемента с 0-го:

<?$a=['a','b','c','d','e'];print_r(array_splice($a,0,3))?>

Array ( [0] => a [1] => b [2] => c ) .

При этом массив $a примет следующий вид:

Array ( [0] => d [1] => e ) .

Пример

Вырезать 3 элемента с 1-го:

<?$a=['a','b','c','d','e'];print_r(array_splice($a,1,3))?>

Array ( [0] => b [1] => c [2] => d ) .

При этом массив $a примет следующий вид:

Array ( [0] => a [1] => e ) .

Пример

Вырезать элементы с 1-го до конца массива. Для этого 3-й параметр не пишем:

<?$a=['a','b','c','d','e'];print_r(array_splice($a,1))?>

Array ( [0] => b [1] => c [2] => d [3] => e ) .

При этом массив $a примет следующий вид:

Array ( [0] => a ) .

Пример

Вырезать 2 элемента с предпоследнего. Для этого 2-й параметр установим в -2 (позиция предпоследнего элемента):

<?$a=['a','b','c','d','e'];print_r(array_splice($a,-2,2))?>

Array ( [0] => d [1] => e ) .

При этом массив $a примет следующий вид:

Array ( [0] => a [1] => b [2] => c ) .

Пример

Вырезать 2 элемента с 1-го, а в замен вставить элементы 1,2,3:

<?$a=['a','b','c','d','e'];print_r(array_splice($a,1,2,[1,2,3]))?>

Array ( [0] => b [1] => c ) .

При этом массив $a примет следующий вид:

Array ( [0] => a [1] => 1 [2] => 2 [3] => 3 [4] => d [5] => e ) .

Пример

Ничего не вырезаем, а просто вставим элементы 1,2,3 начиная с позиции 1. Для этого 3-й параметр ставится в 0:

<?$a=['a','b','c','d','e'];print_r(array_splice($a,1,0,[1,2,3]))?>

Array ( ) .

Результат выполнения кода: [].

При этом массив $a примет следующий вид:

Array ( [0] => a [1] => 1 [2] => 2 [3] => 3 [4] => b [5] => c [6] => d [7] => e ) .

Функция array_keys

Функция array_keys получает ключи массива и записывает их в новый массив.

Синтаксис: array_keys(массив).

Пример

Функция получила ключи из массива:

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];print_r(array_keys($a))?>

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e ) .

Функция array_values

Функция array_values выбирает все значения из массива.

Синтаксис: array_values(массив).

Пример

Получить все значения массива:

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];print_r(array_values($a))?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) .

Функция array_combine

Функция array_combine осуществляет слияние двух массивов в 1 ассоциативный.

1-м параметром функция принимает массив будущих ключей, а 2-м - массив будущих значений.

Синтаксис: array_combine(массив ключей,массив значений).

Пример

Функция сольет 2 массива в 1 ассоциативный. При этом соответствующие элементы из 1-го массива станут ключами элементов из 2-го массива:

<?$k=['green','blue','red'];$e=['зеленый','голубой','красный'];$a=array_combine($k,$e);print_r($a)?>

Array ( [green] => зеленый [blue] => голубой [red] => красный ) .

Функция array_flip

Функция array_flip производит обмен местами ключей и значений массива.

Синтаксис: array_flip(массив).

Пример

Поменять местами ключи и значения массива:

<?$a=['a'=>1,'b'=>2,'c'=>3];$r=array_flip($a);print_r($r)?>

Array ( [1] => a [2] => b [3] => c ) .

Функция array_reverse

Функция array_reverse переворачивает массив в обратном порядке.

1-м параметром передается массив, а 2-м - сохранять ключи при перестановке элементов или нет (true - да, false - нет).

2-й параметр указывать необязательно. В таком случае по умолчанию 2-м параметром является false.

Синтаксис: array_reverse(массив,[сохранять ли ключи]).

Пример

Перевернуть массив:

<?$a=[1,2,3,4,5];$a=array_reverse($a);print_r($a)?>

Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 ) .

Пример

Учтите, что по умолчанию ключи оторвутся от элементов:

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];$a=array_reverse($a);print_r($a)?>

Array ( [e] => 5 [d] => 4 [c] => 3 [b] => 2 [a] => 1 ) .

Ничего не отрывается. PHP5.

Пример

Чтобы ключи переворачивались вместе с массивом, нужно передать 2-й параметр:

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];$a=array_reverse($a,true);print_r($a)?>

Array ( [e] => 5 [d] => 4 [c] => 3 [b] => 2 [a] => 1 ) .

И без 2-го параметра всё переворачивается, как надо (ничего не отрывается). PHP5.

Функция array_search

Функция array_search осуществляет поиск значения в массиве и возвращает ключ 1-го найденного элемента. Если такой элемент не найдет - вернет false. 3-й параметр задает строгое сравнение по типу (как по ===). Если поставить true, он будет сравнивать строго, а если false (по умолчанию), - то нет.

Синтаксис: array_search(что ищем,где ищем,[сравнивать по типу=false]).

Пример

Найти в массиве элемент со значением 'c', в результате получить его ключ (он равен 2, отсчет с 0):

<?$a=['a','b','c','d','e'];echo array_search('c',$a)?>

2.

Функция array_replace

Функция array_replace заменяет значения 1-го массива значениями с такими же ключами из других переданных массивов. Если ключ из 1-го массива присутствует во 2-м массиве, его значение заменяется на значение из 2-го массива. Если ключ есть во 2-м массиве, но отсутствует в 1-м, - он будет создан в 1-м массиве. Если ключ присутствует только в 1-м массиве, то сохранится как есть.

Если для замены передано несколько массивов, они будут обработаны в порядке передачи и более поздние массивы будут перезаписывать значения из предыдущих.

Синтаксис: array_replace(массив,массив,массив,…).

Пример

Заменить элемент с ключом 0 на '!', а элемент с ключом 2 - на '!!':

<?$a=['a','b','c','d','e'];$r=array_replace($a,[0=>'!',2=>'!!']);print_r($r)?>

Array ( [0] => ! [1] => b [2] => !! [3] => d [4] => e ) .

Функция array_count_values

Функция array_count_values производит подсчет количества всех значений массива. Возвращает ассоциативный массив, в котором ключами будут элементы массива, а значениями - их количество в массиве.

Синтаксис: array_count_values(массив).

Пример

Подсчитаем, сколько раз встречается каждый из элементов:

<?$a=['a','a','a','b','b','c'];print_r(array_count_values($a))?>

Array ( [a] => 3 [b] => 2 [c] => 1 ) .

Сортировка массивов

Для сортировки массивов в PHP существует несколько функций: sort - по возрастанию элементов, rsort - по убыванию элементов, asort - по возрастанию элементов с сохранением ключей, arsort - по убыванию элементов с сохранением ключей, ksort - по возрастанию ключей, krsort - по убыванию ключей, usort - по функции по элементам, uasort - по функции по элементам с сохранением ключей, uksort - по функции по ключам, natsort - натуральная сортировка.

Все эти функции изменяют сам массив - это значит, что результат не нужно никуда присваивать: поменяется сам массив.

Синтаксис: sort(массив).

Пример

В данном примере функция отсортирует массив по возрастанию элементов:

<?$a=[1,3,2,5,4];sort($a);print_r($a)?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) .

Функция array_rand

Функция array_rand возвращает случайный ключ из массива.

2-й необязательный параметр указывает, сколько случайных ключей следует вернуть. Если он не указан, возвращается 1 ключ, а если указан - заданное количество ключей в виде массива.

Синтаксис: array_rand(массив,[сколько ключей выбрать]).

Пример

Функция вернет случайный ключ из массива:

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];$k=array_rand($a);print_r($k)?>

a.

Пример

Вернуть случайный элемент из массива, зная случайный ключ:

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];$k=array_rand($a);print_r($a[$k])?>

3.

Пример

Задать 2-й параметр и теперь функция вернет массив из 3-х случайных ключей (3 ключа - так как 2-й параметр равен 3):

<?$a=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];$k=array_rand($a,3);print_r($k)?>

Array ( [0] => a [1] => b [2] => e ) .

Функция shuffle

ПРОВЕРЬ!!!

Функция array_unique

Функция array_unique осуществляет удаление повторяющихся элементов (дублей) из массива.

Синтаксис: array_unique(массив).

Пример

Удалить дубли из массива:

<?$a=[1,1,1,2,2,3];$a=array_unique($a);print_r($a)?>

Array ( [0] => 1 [3] => 2 [5] => 3 ) .

Функция array_shift

Функция array_shift вырезает и возвращает 1-й элемент массива. При этом этот элемент исчезает из массива.

Синтаксис: array_shift(массив).

Пример

В данном примере функция вырезала 1-й элемент массива:

<?$a=[1,2,3,4,5];echo array_shift($a)?>

1.

Массив $a станет выглядеть так: Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 ) .

Функция array_pop

Функция array_pop вырезает и возвращает последний элемент массива. При этом этот элемент исчезает из массива.

Синтаксис: array_pop(массив).

Пример

В данном примере функция вырезала и вернула последний элемент массива:

<?$a=[1,2,3,4,5];echo array_pop($a)?>

5.

Массив $a станет выглядеть так: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) .

Функция array_unshift

Функция array_unshift добавляет элементы в начало массива.

Функция изменяет переданный массив, возвращает новое количество элементов в массиве.

Синтаксис: array_unshift(массив,какие элементы добавить).

Пример

Добавить в массив еще 2 элемента:

<?$a=[1,2,3];$n=array_unshift($a,'a','b');print_r($a);echo'<p>'.$n?>

Array ( [0] => a [1] => b [2] => 1 [3] => 2 [4] => 3 )

5.

В переменной $n будет лежать новое количество элементов массива: 5.

Функция array_push

Функция array_push добавляет элементы в конец массива.

Функция изменяет переданный массив, возвращает новое количество элементов в массиве.

Синтаксис: array_push(массив,какие элементы добавить).

Пример

Добавить элементы в конец массива:

<?$a=[1,2,3];$n=array_push($a,4,5);print_r($a);echo'<p>'.$n?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

5.

В переменной $n будет лежать новое количество элементов массива: 5.

Функция array_pad

Функция array_pad дополняет массив определенным значением до заданного размера.

Синтаксис: array_pad(массив,до какого размера заполнить,чем заполнять).

2-й параметр можно делать отрицательным, в этом случае массив будет дополнятся элементами не с конца, а с начала.

Пример

Заполнить массив нулями так, чтобы его размер стал 5 элементов (дополнить нулями с 3 элементов до 5):

<?$a=[1,2,3];$a=array_pad($a,5,0);print_r($a)?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 0 [4] => 0 ) .

Пример

А теперь в массиве уже есть 5 элементов, поэтому он ничем не заполнится:

<?$a=[1,2,3,4,5,6];$a=array_pad($a,5,0);print_r($a)?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) .

Пример

Сделать 2-й параметр отрицательным. В этом случае массив заполнится сначала, а не с конца:

<?$a=[1,2,3];$a=array_pad($a,-5,0);print_r($a)?>

Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 2 [4] => 3 ) .

Функция array_fill

Функция array_fill создает массив, заполненный элементами с определенным значением.

Синтаксис: array_fill(ключ 1-го элемента,сколько элементов,чем заполнять).

Пример

Заполнить массив 5-ю элементами с текстом 'x'. Так как 1-й параметр 0, то ключи начнут свою нумерацию с 0:

<?$a=array_fill(0,5,'x');print_r($a)?>

Array ( [0] => x [1] => x [2] => x [3] => x [4] => x )

Пример

Заполнить массив 5-ю элементами с текстом 'x'. Так как 1-й параметр 3, то ключи начнут свою нумерацию с 3:

<?$a=array_fill(3,5,'x');print_r($a)?>

Array ( [3] => x [4] => x [5] => x [6] => x [7] => x ) .

Пример

Сделать массив [['x','x','x'],['x','x','x'],['x','x','x']]:

<?$a=array_fill(0,3,array_fill(0,5,'x'));print_r($a)?>

Array ( [0] => Array ( [0] => x [1] => x [2] => x [3] => x [4] => x ) [1] => Array ( [0] => x [1] => x [2] => x [3] => x [4] => x ) [2] => Array ( [0] => x [1] => x [2] => x [3] => x [4] => x ) ) .

Пример

Сделать массив [['x','x','x'],['x','x','x'],['x','x','x']]:

<?$a=array_fill(1,3,array_fill(1,5,'x'));print_r($a)?>

Array ( [1] => Array ( [1] => x [2] => x [3] => x [4] => x [5] => x ) [2] => Array ( [1] => x [2] => x [3] => x [4] => x [5] => x ) [3] => Array ( [1] => x [2] => x [3] => x [4] => x [5] => x ) ) .

Функция array_fill_keys

Функция array_fill_keys создает массив и заполняет массив элементами с определенным значением так, чтобы весь массив был с одинаковыми элементами, но разными ключами. Ключи берутся из массива, передаваемого 1-м параметром.

Синтаксис: array_fill_keys(ключ 1-го элемента,чем заполнять).

Пример

Заполнить массив 5-ю элементами с текстом 'x' с ключами из массива ['a','b','c','d','e']:

<?$a=array_fill_keys(['a','b','c','d','e'],'x');print_r($a)?>

Array ( [a] => x [b] => x [c] => x [d] => x [e] => x ) .

Пример

<?$k=array(1,5,10,'b');$a=array_fill_keys($keys,'x');print_r($a)?>

Array ( [1] => x [5] => x [10] => x [b] => x ) .

Функция array_chunk

Функция array_chunk разбивает 1-мерный массив в 2-мерный. 1-м параметром она принимает массив, а 2-м - количество элементов в каждом подмассиве.

Синтаксис: array_chunk(массив,по сколько элементов).

Пример

Разбить массив по 2 элемента в подмассиве:

<?$a=['a','b','c','d'];print_r(array_chunk($a,2))?>

Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) ) .

Результат: [['a','b'],['c','d']].

Пример

Разбить массив по 3 элемента в подмассиве. Обратите внимание на то, что в последнем подмассиве 2 элемента, а не 3, так как ему не хватило элементов:

<?$a=['a','b','c','d','e'];print_r(array_chunk($a,3))?>

Array ( [0] => Array ( [0] => a [1] => b [2] => c ) [1] => Array ( [0] => d [1] => e ) ) .

Результат: [['a','b','c'],['d','e']].

Функция array_count_values

Функция array_count_values производит подсчет количества всех значений массива. Возвращает ассоциативный массив, в котором ключами будут элементы массива, а значениями - их количество в массиве.

Синтаксис: array_count_values(массив).

Пример

Подсчитаем, сколько раз встречается каждый из элементов:

<?$a=['a','a','a','b','b','c'];print_r(array_count_values($a))?>

Array ( [a] => 3 [b] => 2 [c] => 1 ) .

Функция array_intersect

Функция array_intersect вычисляет пересечение массивов, возвращает массив из элементов, которые есть во всех массивах, переданных в функцию.

Синтаксис: array_intersect(массив,массив,массив,…).

Пример

Найти, какие элементы есть и в 1-м, и во 2-м массиве:

<?$a=array(1,2,3,4,5);$b=array(3,4,5,6,7);$r=array_intersect($a,$b);print_r($r)?>

Array ( [2] => 3 [3] => 4 [4] => 5 ) .

<?$a=array(1,2,3,4,5);$b=array(3,4,5,6,7);$r=array_intersect($b,$a);print_r($r)?>

Array ( [0] => 3 [1] => 4 [2] => 5 ) .

Функция array_diff

Функция array_diff возвращает массив из элементов, которые не являются общими для всех массивов, переданных в функцию.

Синтаксис: array_diff(массив,массив,массив,…).

Пример

Найти, какие элементы есть в 1-м массиве и при этом отсутствуют во 2-м:

<?$a=array(1,2,3,4,5);$b=array(3,4,5,6,7);$r=array_intersect($a,$b);print_r($r)?>

Array ( [0] => 1 [1] => 2 ) .

<?$a=array(1,2,3,4,5);$b=array(3,4,5,6,7);$r=array_intersect($b,$a);print_r($r)?>

Array ( [3] => 6 [4] => 7 ) .

Функция array_map

Функция array_map применяет заданную функцию ко всем элементам массива и возвращает измененный массив.

1-м параметром функция принимает имя функции, а 2-м - массив. Можно передавать дополнительные массивы 3-м и так далее параметрами.

Синтаксис: array_map(имя функции в кавычках,массив,[еще массивы через запятую]).

Пример

В данном примере функция array_map извлекла квадратный корень из каждого элемента массива с помощью функции sqrt и записала в новый массив:

<?$a=[1,4,9];$r=array_map('sqrt',$a);print_r($r)?>

Array ( [0] => 1 [1] => 2 [2] => 3 ) .

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович:
8-965-148-98-02, diplom07@mail.ru.
Печатать страницу: Урок 8. Функции работы с массивами в PHP

Урок 8, Функции работы с массивами в PHP, Урок, 8, Функции, работы, с, массивами, в, PHP, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, Создание сайтов, web-программирование, seo-продвижение, создание и раскрутка сайтов, вбиваю в топ-10, как гвозди, попробуйте бесплатно, Создание сайтов, web-программирование, seo-продвижение, Урок, 8, Функции, работы, с, массивами, в, PHP, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, раскрутка сайтов, Вбиваю в ТОП-10, как гвозди, раскрутка сайтов, Делаю и раскручиваю сайты, Дмитрий Владимирович

×

Ваше письмо