Урок 23 из 29
В прогрессе

23php функции для работы с массивами

Урок
Материалы

Полезные функции

Для работы с массивами существует достаточное количество полезных функций. Смотрите раздел функции для работы с массивами.

 

Для начала Давайте создадим 3 массива 

 

1 Многомерным Массив

 

$goods = [

  #Многомерным Массив

[

  «title« => «Nokia«,

  «price« => 105,

  «qty« => 15,

],

[

  «title« => «Ld«,

  «price« => 125,

  «qty« => 5,

],

[

  «title« => «Ld«,

  «price« => 125,

  «qty« => 5,

],

];

 

2 Ассоциативный массив

$car = [

  #Ассоциативный массив

  «brand« => «Lada«,

  «moled« => «Grant«,

  «year« => 2022,

  «wheels« => 4,

];

 

3 Одномерный массив

#Одномерный массив

$num = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,];

 

А на самом верху создадим функцию которая будет вводить массив 

function debug($items)

{

  echo «<pre>«. print_r($items, 1) </pre>«;

}

 

Нам нужно вызвать функцию самом конце 

 

count()

echo count($goods,0);

Если необязательный параметр mode установлен в COUNT_RECURSIVE (или 1), count() будет рекурсивно подсчитывать количество элементов массива. Это особенно полезно для подсчёта всех элементов многомерных массивов.

echo count($goods,1);

 

  • array_count_values — Подсчитывает количество всех значений массива

Возвращает массив где ключами будут сами элементы, а значения будет Количество раз которые они встречаются 

 

debug(array_count_values($num));

 

array_key_exists — Проверяет, присутствует ли в массиве указанный ключ

Возвращает True или false 

var_dump(array_key_existsyear«, $car));

 

  • in_array — Проверяет, присутствует ли в массиве значение

var_dump(in_array(2022, $car));

 

  • array_search — Осуществляет поиск данного значения в массиве и возвращает ключ первого найденного элемента в случае успешного выполнения

Возвращает ключ элемента 

var_dump(array_search(5,$num));

 

  • array_keys — Возвращает все или некоторое подмножество ключей массива

Если 2 параметрам мы укажем значение ключа, то мы получим ключ этого значения 

debug(array_keys($car));

debug(array_keys($car, 4));

$a = array_keys($car);

 

  • array_values — Выбирает все значения массива

debug(array_values($goods));

 

  • array_unique — Убирает повторяющиеся значения из массива

debug(array_unique($num));

 

  • array_filter — Фильтрует элементы массива с помощью callback-функции

Примеры Давайте создадим две функции которые будут вводить чётные и нечётные числа 

 

function odd($var)

{

  return $var % 2;

}

function even($var)

{

  return !($var % 2);

}

 

debug(array_filter($num, «even«));

debug(array_filter($num, «odd«));

Также мы можем использовать анонимную функцию 

debug(array_filter($num, function($var){

  return $var % 2;

}));

 

 

HOME TASK

/*

Дан массив:

$nums = [1,2,3,1,4,5,3,2,6,7,7,8,8];

Напишите свой вариант функции count() —

user_count() — который будет принимать

аргументом одномерный массив и возвращать

кол-во элементов массива (длину масcива)

*/

 

/*

Дан массив:

$nums = [1,2,3,1,4,5,3,2,6,7,7,8,8];

Подсчитайте сумму значений элементов

массива. Попробуйте написать 2 варианта

решения: со специальной функции и без нее

*/

 

/*

Создайте массив из чисел от 1 до 100. Попробуйте написать

2 варианта решения: со специальной функции и без нее

*/