PHP 使用数组映射对数组重新排序
PHP Use array map to reOrder an array
我需要用一个函数重新排序这个数组。
来自(我的实际数组):
array:2 [▼
0 => array:2 [▼
"way" => 0
"period" => "MONTH"
]
1 => array:2 [▼
"way" => 1
"period" => "3MONTHS"
]
]
收件人(我想要这个数组):
array:2 [▼
0 => array:1 [▼
"MONTH" => 0
]
1 => array:1 [▼
"3MONTHS" => 1
]
]
我可以使用 array_map()
函数来实现吗?
使用array_column()作为
$data = array_column($array, 'way','period');
将period
转换为键,将way
转换为值
您可以简单地使用 foreach
而不是像
foreach($your_arr as &$v){
$v = [$v["period"] => $v["way"]];
}
print_r($your_arr);
或使用array_map
$your_arr = array_map(function($v){ return [$v["period"] => $v["way"]]; },$your_arr);
print_r($your_arr);
我需要用一个函数重新排序这个数组。
来自(我的实际数组):
array:2 [▼
0 => array:2 [▼
"way" => 0
"period" => "MONTH"
]
1 => array:2 [▼
"way" => 1
"period" => "3MONTHS"
]
]
收件人(我想要这个数组):
array:2 [▼
0 => array:1 [▼
"MONTH" => 0
]
1 => array:1 [▼
"3MONTHS" => 1
]
]
我可以使用 array_map()
函数来实现吗?
使用array_column()作为
$data = array_column($array, 'way','period');
将period
转换为键,将way
转换为值
您可以简单地使用 foreach
而不是像
foreach($your_arr as &$v){
$v = [$v["period"] => $v["way"]];
}
print_r($your_arr);
或使用array_map
$your_arr = array_map(function($v){ return [$v["period"] => $v["way"]]; },$your_arr);
print_r($your_arr);