将数组中的2对转换为getassociative数组

时间:2014-03-02 13:55:31

标签: php arrays

这些问题的标题听起来有些令人困惑,但我不知道应该怎么称呼它,所以我会进一步解释:

例如,我得到了以下数组:

 [0]=> "id" [1]=> "5" [2]=> "value" [3]=> "8"

依此类推,这个阵列可能是无穷无尽的,但内容的数量是均匀的。 现在我希望将此数组转换为关联数组,其中on对是index =>值。像这样:

[id] = "5" [value] = "8"

我想过,我将数组预先两次:首先我设置索引,如果count是奇数,第二次我重置索引并设置值,如果count是偶数。但必须有更好的方法来做到这一点。

谢谢你的帮助。

3 个答案:

答案 0 :(得分:2)

$array = array("id", "5", "value", "8");
$new_array = array();

for ($i = 1; $i < count($array); $i+=2) {
  $new_array[$array[$i - 1]] = $array[$i];
}

答案 1 :(得分:2)

以下代码应符合您的目的:

$arr = array("id", "5", "value", "8");
$size = sizeof($arr);
$_arr = array();
for($i = 0; $i < $size; $i+=2){
$_arr[$arr[$i]] = $arr[$i+1];
}

DEMO

答案 2 :(得分:0)

为什么不是多维数组?

$arr = array(
    array("id", "5"),
    array("value", "8")
);