我有一个包含一些子数组的数组。我需要为所有子数组添加一个默认值。我尝试了一些建议,但没有帮助。
array(1) { ["ClassOne"]=>
{
[0]=>{ ["rollno"]=> "C1" ["dateofbirth"]=> "1974-06-07"}
[1]=>{ ["rollno"]=> "C2" ["dateofbirth"]=> "1970-01-01"}
}
}
需要更改为
array(1) { ["ClassOne"]=>
{
[0]=> { ["rollno"]=> "C1" ["dateofbirth"]=> "1974-06-07" ["defaultValue"]=> "someValue"}
[1]=> { ["rollno"]=> "C2" ["dateofbirth"]=> "1970-01-01" ["defaultValue"]=> "someValue"}
}
}
答案 0 :(得分:0)
使用foreach来获取将要附加“默认值”的索引,希望这个答案足够了,谢谢
/* your array as describred */
$array = array(
array("ClassOne"=>
array( "rollno"=> "C1","dateofbirth"=> "1974-06-07" ),
array( "rollno"=> "C2","dateofbirth"=> "1970-01-01"),
),
array("ClassTwo"=>
array( "rollno"=> "C1","dateofbirth"=> "1974-06-07" ),
array( "rollno"=> "C2","dateofbirth"=> "1970-01-01"),
)
);
foreach($array as $key=>$value)
{
foreach($array[$key] as $key1 => $value1)
$array[$key][$key1]['defaultValue']='someValue';
}
print_r($array);
答案 1 :(得分:0)
只需映射一个函数并添加新数组:
$a = ["defaultValue" => "someValue"];
$array = array_map(function($v) use($a) { return $v + $a; }, $array);
或者走路:
array_map($array, function(&$v, $k, $a) { $v = $v + $a; }, ["defaultValue" => "someValue"]);