Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP使用数组映射对数组重新排序_Php_Arrays_Array Map - Fatal编程技术网

PHP使用数组映射对数组重新排序

PHP使用数组映射对数组重新排序,php,arrays,array-map,Php,Arrays,Array Map,我需要用一个函数对这个数组重新排序 从(我的实际数组): 到(我想要此阵列): 我可以用array\u map()函数来实现吗?使用作为 $data = array_column($array, 'way','period'); 将期间转换为键,将方式转换为其值您可以简单地使用foreach代替 foreach($your_arr as &$v){ $v = [$v["period"] => $v["way"]]; } print_r($your_arr); 或者使用a

我需要用一个函数对这个数组重新排序

从(我的实际数组):

到(我想要此阵列):

我可以用
array\u map()
函数来实现吗?

使用作为

$data = array_column($array, 'way','period');

期间
转换为键,将
方式
转换为其值

您可以简单地使用
foreach
代替

foreach($your_arr as &$v){
    $v = [$v["period"] => $v["way"]];
}
print_r($your_arr);
或者使用
array\u map

$your_arr = array_map(function($v){ return [$v["period"] => $v["way"]]; },$your_arr);
print_r($your_arr);

为什么不试试看是否可以呢?您可能会查找
array\u column()
。预期值是错误的。内部阵列有一个元素,您显示了
阵列:2
@Anant它是手工制作的阵列:)@splash58。是的,你是对的,但是如果人们添加了真实的数组,这样就可以很容易地直接用程序复制和执行,那就更好了
foreach($your_arr as &$v){
    $v = [$v["period"] => $v["way"]];
}
print_r($your_arr);
$your_arr = array_map(function($v){ return [$v["period"] => $v["way"]]; },$your_arr);
print_r($your_arr);