【发布时间】:2015-03-10 15:10:19
【问题描述】:
假设我有一个这样的数组:
$result=array("1", "2", "34");
我还有另一个数组:
$keys=array("id", "price", "day");
事实上,$result 的每个值都有数字键。我想添加到这些值关联键,使用 $keys 中的值,但不删除数字键。也就是说,我希望结果是:
array(6)
{ [0]=> string(1) "1"
[1]=> string(1) "2"
[2]=> string(2) "34"
["id"]=> string(1) "1"
["price"]=> string(1) "2"
["day"]=> string(2) "34"
}
我知道我可以编写一个很小的函数来手动执行此操作,但是在 PHP 的众多函数中,是否有任何内置函数可以自动执行此操作? (我的 PHP 知识有点生疏)。
【问题讨论】:
-
使用array_combine() -
$result = array_merge($result, array_combine($keys, $result));虽然我不明白你为什么需要枚举键和关联键 -
但是 array_combine() 不保存数字键。它创建了一个新的关联。只有关联键的数组。
-
这就是为什么他在
array_combine之后创建一个array_merge。 -
Aaahhh... 与
array_merge不同的是。这行得通。 -
@PaulJ - 你的意思一定是 mysqli_fetch_array(),而不是 mysqli_fetch_assoc(),第一个返回数字和关联数组。