数组回调相关函数

Moonshadow2333 -
数组回调相关函数
数组回调相关函数一、array_filter(一)语法
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
(二)参数array:数组;callable:回调函数(可选)。(三)功能array_filter() 函数用回调函数过滤数组中的元素。(四)自定义 array_filter
function myArrFilter(array $arr,callable $func){
    foreach($arr as $k =>$v){
        if($func($v)){
            $re[$k] = $v;
        }
    }
    return $re;
} 
二、array_map(一)语法
array_map(myfunction,array1,array2,array3...)
(二)参数myfunction:回调函数;array:数组;(三)功能
将用户自定义函数作用到给定数组的每个值上,返回新的值。
(四)自定义 array_map
function myArrMap(callable $func,array $arr){
    foreach($arr as $v){
        $re[] = $func($v);
    }
    return $re;
}

目前自定义的 myArrMap 函数并没有完全实现 array_map 的功能,先占位吧,以后再完善。

(五)例子:
<?php
function myfunction($num)
{
   return($num*$num);
}
 
$a=array(1,2,3,4,5);
print_r(array_map("myfunction",$a));
/*
    [0=>1,1=>4,2=>9,3=>16,4=>25]
*/
三、array_walk(一)语法
array_walk(array,myfunction,parameter...)
(二)参数array:数组;myfunction:回调函数。(三)功能对数组中的每个成员应用用户函数。(四)自定义 array_walk
function myArrWalk(array $arr,callable $func){
    foreach($arr as $k => $v){
        $func($v,$k);
    }
}
四、array_reduce(一)语法
array_reduce(array,myfunction,initial)
(二)参数array:数组;myfunction:回调函数;initial:初始值,规定发送到函数处理的第一个值。(三)功能发送数组中的值到用户自定义函数,并返回一个字符串。
注释:如果数组是空的或者初始值未传递,该函数返回 NULL。(四)自定义 array_reduce
function myArrReduce(array $arr,callable $func,$init = ''){
    if(empty($arr) || empty($init)){
        return NULL;
    }
    foreach($arr as $v){
        $re = $func($init,$v);
        $init = $re;
    }
    return $re;
}
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

php数组回调

扩展阅读

加个好友,技术交流

1628738909466805.jpg