定义和用法

array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

提示:您可以向函数输入一个或者多个数组。

语法

array_map(myfunction,array1,array2,array3...)
参数描述
myfunction必需。用户自定义函数的名称,或者是 null。
array1必需。规定数组。
array2可选。规定数组。
array3可选。规定数组。

技术细节

返回值:返回包含 array1 的值的数组,在向每个值应用自定义函数后。
PHP 版本:4.0.6+

demo

    $array1 = [11,22,33,44,55,11,77];
    $array2 = [11,2,3,4,55,6,7];
    $array3 = [11,220,33,440,550,660,77,88];
  
##ex1 比较常用的用法
show(array_map('intval', $array1));##在拼接sql查询的时候,很有用
array_map('htmlspecialchars' , $arr);##在拼接sql查询的时候,很有用


    ##ex2
    show(array_map(null, $array1,$array2,$array3));
    #输出:
    Array
    (
        [0] => Array
            (
                [0] => 11
                [1] => 11
                [2] => 11
            )
    
        [1] => Array
            (
                [0] => 22
                [1] => 2
                [2] => 220
            )
    
        [2] => Array
            (
                [0] => 33
                [1] => 3
                [2] => 33
            )
    
        [3] => Array
            (
                [0] => 44
                [1] => 4
                [2] => 440
            )
    
        [4] => Array
            (
                [0] => 55
                [1] => 55
                [2] => 550
            )
    
        [5] => Array
            (
                [0] => 11
                [1] => 6
                [2] => 660
            )
    
        [6] => Array
            (
                [0] => 77
                [1] => 7
                [2] => 77
            )
    
        [7] => Array
            (
                [0] => 
                [1] => 
                [2] => 88
            )
    
    )
    ##ex3
    function testFun($var){
        if($var==11){
            return 'true';
        }
    }
    show(array_map('testFun', $array1,$array2,$array3));
    Array
    (
        [0] => true
        [1] => 
        [2] => 
        [3] => 
        [4] => 
        [5] => true
        [6] => 
        [7] => 
    )