Рубрики
Uncategorized

Примеры операций с массивами, обрабатываемых функциями обратного вызова PHP

Автор оригинала: David Wong.

В этой статье описывается пример функции обратного вызова PHP, обрабатывающей операции с массивом. Подробности заключаются в следующем:

array_ Уменьшить – итеративно уменьшает массив до одного значения с помощью функции обратного вызова

смешанный array_reduce ( массив $массив , вызываемый $обратный вызов [, смешанный ] )

  • Обратный вызов [смешанный обратный вызов (смешанный $перенос, смешанный $элемент) перенос — перенос значения в последней итерации; если эта итерация является первой, то это значение является начальным. Элемент — содержит значение этой итерации. 】
  • Initial [если указан необязательный параметр initial, он будет использоваться до начала обработки или последний результат, когда обработка закончится и массив будет пуст. 】

Пример:

$res = [
 '0' => [
 'a' => 'you',
 'b' => 'me'
 ],
 '1' => [
 'c' => 'li',
 'd' => 'op'
 ]
];
$res = array_reduce($res,function($result,$value) {
 return array_merge($result,array_values($value));
},array());
var_dump($res);

Выход:

массив(4) { [0]=> строка(3) “ты” [1]=> строка(2) “я” [2]=> строка(2) “li” [3]=> строка(2) “op” }

array_фильтр – отфильтруйте ячейки в массиве с помощью функции обратного вызова

массив array_фильтр (массив $массив [, вызов $обратный вызов [, int]]) возвращает отфильтрованный массив.

  • Массив — массив для цикла
  • Обратный вызов — используемая функция обратного вызова. Если функция обратного вызова не предусмотрена, все записи в массиве с эквивалентным значением false будут удалены.
  • Флаг — определяет форму параметра приема обратного вызова:
    • ARRAY_ФИЛЬТР_ USE_ Ключ – обратный вызов принимает имя ключа в качестве единственного параметра
    • ARRAY_ФИЛЬТР_ ИСПОЛЬЗОВАНИЕ обоих – обратный вызов принимает как имя ключа, так и значение ключа

Пример:

function odd($var)
{
  // returns whether the input integer is odd
  return($var & 1);
}
 
function even($var)
{
  // returns whether the input integer is even
  return(!($var & 1));
}
 
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
 
echo "Odd :\n";
print_r(array_filter($array1, "odd"));//1,3,5
echo "Even:\n";
print_r(array_filter($array2, "even"));//2,4,6

array_map – применяет функцию обратного вызова к каждому элементу массива

array_map ( вызываемый $обратный вызов , массив $array1 [, массив $… ] )

параметр

  • Обратный вызов — функция обратного вызова, применяемая к каждому элементу в каждом массиве.
  • Array1 — массив, пройдите и запустите функцию обратного вызова.

Список массивов, каждый из которых проходит и выполняет функцию обратного вызова.

Возвращаемое значение — возвращает массив, содержащий все элементы array1 после функции обратного вызова.

Пример:

function cube($n)
{
  return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);

Выход:

Массив ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 )

Подробнее о содержании, связанном с PHP, заинтересованные читатели могут ознакомиться с темой сайта: Энциклопедия навыков работы с массивами PHP, краткое изложение часто используемых алгоритмов обхода PHP и навыков, краткое изложение использования строк PHP, краткое изложение часто используемых функций и навыков PHP, краткое изложение методов обработки ошибок и исключений PHP, вводный курс по базовой грамматике PHP, вводный курс объектно-ориентированного программирования PHP и краткое изложение навыков математической работы PHP

Я надеюсь, что эта статья будет полезна для программирования на PHP.