如何在php中替换数组中的键,用子数组的键来获得这样的效果:来自:
`Array
(
[0] => Array
(
[for_a] => me
)
[1] => Array
(
[for_b] => you
)
[2] => Array
(
[for_c] => bleeh
)
)`
致:
`Array
(
[for_a] => me
[for_b] => you
[for_c] => bleeh
)`
我尝试使用array_column,但没有效果
4条答案
按热度按时间uplii1fm1#
你可以这样做:
此方法假定每个元素中只有一个元素(硬编码的
[0]
在$arr2[array_keys($arr)[0]] = array_values($arr)[0];
中)这不是最优雅的方式。有一个名为array_walk的方法,您可以在其中定义一个回调函数来解析数组中的每个元素,您可以确保不会覆盖数组中的现有元素。
7uhlpewt2#
@Josste给出了一个很好的例子,这里有另一种你可以做到的方法:
遍历数组两次,一次是获取父数组,然后再次遍历每个子数组,然后使用父键更新输出的
new
数组键。ozxc1zmp3#
试试这个php脚本:
jhiyze9q4#
如果你想要詹姆斯和罗纳尔多的答案的功能风格版本:
输出:
参考:https://www.php.net/manual/en/function.array-reduce.php