"key1", "val"=>"val1"), 1=>array("key"=>"key2", "val"=>"va-6ren">
gpt4 book ai didi

php - 这是在两种不同类型的数组之间进行转换的最佳方法吗?

转载 作者:行者123 更新时间:2023-12-02 21:19:27 25 4
gpt4 key购买 nike

我需要像这样转换数组

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"];
}

这是转换这些数组的最佳方法吗? (特别是当数组很大时。)

最佳答案

消耗内存最少的方法是使用生成器。像这样的东西应该可以工作,但我还没有测试过。

function flatten(array $inArray) {
foreach($inArray as $subArray) {
yield $subArray['key'] => $subArray['val'];
}
}

$newArray = iterator_to_array(flatten($oldArray));

注意: 为此,您需要 PHP 5.5+。

关于php - 这是在两种不同类型的数组之间进行转换的最佳方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28600708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com