2014-03-02 17 views
0

这个问题的标题听起来有点混乱,但我不知道我应该怎么称呼它,所以我会再解释一下:将2-对,数组getassociative阵列

比如我得到了以下array:

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

等等,这个数组可能是无止境的,但内容的数量是偶数。 现在我想把这个数组转换成一个关联数组,其中on对是index => value。就像这样:

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

我想过,我的foreach数组两次:第一次我设定的指标,如果数是奇数,第二我重置指数和设置的值,如果计数为偶数。但必须有更好的方法来做到这一点。

感谢您的帮助。

+0

当你说无尽的时候,你的意思是像“尺寸”,“颜色”或上述相同的两个属性一再重复的无尽性能? – ManZzup

+0

不,我的意思是其他属性。我知道我不能使用多个条目相同的索引:) – WolvDev

回答

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]; 
} 
+0

作品像一个魅力,谢谢 – WolvDev

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

+0

谢谢,你的方法就像来自faintsignal的答案,但我得到一个错误消息:未定义的索引,导致它在未来看到+ 1,并且最终没有可用的索引。但不错,快速回答:) – WolvDev

0

为什么不多维数组?

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

对不起,不能使用这个,因为我不生成我需要“转换”的数组。 – WolvDev