Php 这是在两种不同类型的数组之间转换的最佳方法吗?
我需要像这样转换数组Php 这是在两种不同类型的数组之间转换的最佳方法吗?,php,arrays,Php,Arrays,我需要像这样转换数组 array( 0=>array("key"=>"key1", "val"=>"val1"), 1=>array("key"=>"key2", "val"=>"val2"), 2=>array("key"=>"key3", "val"=>"val3"), ) array( "key1"=>"val1", "key2"=>"val2", "key3"=>"val3",
array(
0=>array("key"=>"key1", "val"=>"val1"),
1=>array("key"=>"key2", "val"=>"val2"),
2=>array("key"=>"key3", "val"=>"val3"),
)
array(
"key1"=>"val1",
"key2"=>"val2",
"key3"=>"val3",
)
这样排列
array(
0=>array("key"=>"key1", "val"=>"val1"),
1=>array("key"=>"key2", "val"=>"val2"),
2=>array("key"=>"key3", "val"=>"val3"),
)
array(
"key1"=>"val1",
"key2"=>"val2",
"key3"=>"val3",
)
我确实喜欢以下内容:
foreach($oldArray as $element){
$newArray[$element["key"]] = $element["val"];
}
这是转换这些数组的最佳方法吗?(特别是当数组很大时。)是的,最好的方法是使用foreach,即使您的数组很大,也不需要花很多时间
你的代码现在工作了吗?否则我可以帮你。你可以告诉php自己使用foreach,如下所示
$array = array(
0=>array("key"=>"key1", "val"=>"val1"),
1=>array("key"=>"key2", "val"=>"val2"),
2=>array("key"=>"key3", "val"=>"val3"),
);
$result = array();
array_walk($array, function($value) use (&$result) {
$result[$value['key']] = $value['val'];
});
echo '<pre>';
print_r($result);
echo '</pre>';
$array=array(
0=>array(“key”=>“key1”,“val”=>“val1”),
1=>数组(“键”=>“键2”,“val”=>“val2”),
2=>数组(“键”=>“键3”,“val”=>“val3”),
);
$result=array();
数组_walk($array,function($value)use(&$result){
$result[$value['key']=$value['val'];
});
回声';
打印(结果);
回声';
使用生成器是消耗内存最少的方法。像这样的东西应该可以用,但我还没有测试过
注意:您需要PHP5.5+来完成此操作 确定答案的唯一方法是在下一分钟内对每个答案进行基准测试