1. 如何将以下二维数组里的键值name换成user ,其他保持不变?
$data = [[‘name’=>’zhangdan’,’id’=>2],[‘name’=>’lisi’,’id’=>1]];
$data = array_map(function ($item) {
$a = array_replace(array_keys($item),[ 0=>'user']);
return array_combine($a,array_values($item));
}, $data);
var_dump($data); //[['user'=>'zhangdan','id'=>2],['user'=>'lisi','id'=>1]]
2. 生成一个由1-100组成的数组,要求返回该数组中的偶数组成的新数组,并且新数组的索引从0开始? (提示:你可能会用到的函数:range(), array_map, array_filter, array_values)?
// 通过range()生成数组
$arr = range(1,100);
//方法一,使用array_map
$arr2 =[];
array_map(function ($item) use (&$arr2) {
if (($item % 2) === 0):
$arr2[] = $item;
endif;
},$arr);
echo "<pre>";
print_r($arr2);
//方法二
// 回调直接使用到array_filter中也 可实现
$arr4 = array_values(array_filter($arr, function ($item) {
if (($item % 2) === 0):
return $item;
endif;
}));
echo "<pre>";
print_r($arr4);