从foreach循环合并数组

时间:2016-03-22 10:12:49

标签: php arrays

我有foreach循环:

foreach($attributes as $key => $value)
{
     $option[] =["$value->name"=>"$value->value"]; //it is like ["color"=>"red"]
}

我想合并$ option [0],$ option [1]等等......如何合并?

我试过了:

for($i=1;$i<$count;$i++)
{   
        $option = array_merge($option[0],$option[$i]);
}

3 个答案:

答案 0 :(得分:3)

如果你想要一个合并版本,试试这个(你只需要一个循环):

$merged_options = array();
foreach($attributes as $key => $value)
{
     $option[] =["$value->name" => "$value->value"];
     $merged_options[$value->name] = $value->value;
}

答案 1 :(得分:3)

此代码应该循环遍历每个当前数组并将其重构为多维数组。

foreach($attr as $k=>$v):
    $temp = array();
    $i = 0;
    while(count($k) != $i):
        array_push($temp, $k[$i] => $v[$i]);
        $i++;
    endwhile;
    array_push($attr, $temp);
endforeach;

希望它有所帮助。

答案 2 :(得分:2)

为什么不使用这样的东西:

foreach($attributes as $key => $value)
{
     $option[$value->name] =$value->value;
}