数组映射 PHP 多维数组

ran*_*eek 5 php arrays array-map multidimensional-array

有一个多维数组

$template=Array (
 [0] => Array ( [id] => 352 [name] => a ) 
 [1] => Array ( [id] => 438 [name] => b ) 
 [2] => Array ( [id] => 351 [name] => c ) 
               ) 
Run Code Online (Sandbox Code Playgroud)

和一个数组映射函数

function myfunction()
{

return "[selected]=>null";
}
print_r(array_map("myfunction",$template));
Run Code Online (Sandbox Code Playgroud)

这导致

Array ( 
   [0] => [selected]=>null 
   [1] => [selected]=>null 
   [2] => [selected]=>null
    )
Run Code Online (Sandbox Code Playgroud)

我如何映射数组来获得这个结果

Array (  
        [0] => Array ( [id] => 352 [name] => a [selected] => null)  
        [1] => Array ( [id] => 438 [name] => b  [selected] => null)  
        [2] => Array ( [id] => 351 [name] => c  [selected] => null) 
    )
Run Code Online (Sandbox Code Playgroud)

Yos*_*shi 7

您需要将值添加到每个给定的数组(在回调内),例如:

<?php

$in = [
    [ 'id' => 352, 'name' => 'a' ],
    [ 'id' => 438, 'name' => 'b' ],
    [ 'id' => 351, 'name' => 'c' ],
];

$out = array_map(function (array $arr) {
    // work on each array in the list of arrays
    $arr['selected'] = null;

    // return the extended array
    return $arr;
}, $in);

print_r($out);
Run Code Online (Sandbox Code Playgroud)

演示:https : //3v4l.org/XHfLc