PHP-使用数组映射将键多维数组更改为数组关联
有时,为了在很多php框架上兼容activerecord,我们会创建一个数组,然后为它创建一个临时数组 因此,如果我们不需要创建临时数组,那么就更加优雅。 我最喜欢的是阵列地图。 如果像这样的数组:PHP-使用数组映射将键多维数组更改为数组关联,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,有时,为了在很多php框架上兼容activerecord,我们会创建一个数组,然后为它创建一个临时数组 因此,如果我们不需要创建临时数组,那么就更加优雅。 我最喜欢的是阵列地图。 如果像这样的数组: Array ( [0] => Array ( [0] => 2017-05-19 [1] => HEUNG-A_HCHIMINH_0010S ) [1] => Array ( [0] => 201
Array
(
[0] => Array
(
[0] => 2017-05-19
[1] => HEUNG-A_HCHIMINH_0010S
)
[1] => Array
(
[0] => 2017-05-19
[1] => KITI_BHUM
)
)
进入
Array
(
[0] => Array
(
[date] => 2017-04-15
[vessel] => KMTC_HOCHIMINH
)
[1] => Array
(
[date] => 2017-04-15
[vessel] => OCL_NAGOYA
)
)
我需要使用数组映射
请告知
array_walk($arr, function(&$v) {
$v = array_combine(['date', 'vessel'], $v);
});
……或者
$arr = array_map('array_combine', array_fill(0, count($arr), ['date', 'vessel']), $arr);
$arr = array_map(function($a) {
return array_combine(['date', 'vessel'], $a);
}, $arr);
……或者
$arr = array_map('array_combine', array_fill(0, count($arr), ['date', 'vessel']), $arr);
$arr = array_map(function($a) {
return array_combine(['date', 'vessel'], $a);
}, $arr);
您可以使用
array\u combine()
将索引数组转换为关联数组。它将键(日期/容器)的一个数组与值的另一个数组合并
array\u map()
将用于迭代数组
例如:
$keys_array = ['date', 'vessel'];
$new_array = array_map( function( $item ) {
return array_combine( $keys_array, $item );
}, $array );
- 这应该可以做到:
$newArr = array_map(function($a){
return ["date" => $a[0], "vessel" => $a[1]];
}, $oldArr);
var_dump($newArr);
下面是使用
array\u map
$arr = [
[
'2017-05-19',
'HEUNG-A_HCHIMINH_0010S'
],
[
'2017-05-19',
'KITI_BHUM'
]
];
echo '<pre>';print_r($arr);
$formatted = array_map( function($v) {
return [
'date' => $v[0],
'vessel' => $v[1]
];
}, $arr);
echo '<pre>';print_r($formatted);
$arr=[
[
'2017-05-19',
“香阿úHCHIMINHú0010S”
],
[
'2017-05-19',
“KITI_BHUM”
]
];
回声';印刷费($arr);
$formatted=数组映射(函数($v){
返回[
“日期”=>$v[0],
“船只”=>v美元[1]
];
},$arr);
回声';打印(格式化);