2013-11-14 55 views
1

我希望array_combine能夠採取兩個數組如不工作aray_combine預期

array(
    'sample' => array(
     'info', 'info_two', 'more_stuff' 
    ), 
    'sample_two' => array(
     'bananas' 
    ) 
); 

,而不是我得到:

array(
    'sample' => array(
     'more_stuff' 
    ), 
    'sample_two' => array(
     'bananas' 
    ) 
); 

現在我知道PHP不允許重複鍵,所以我怎麼能使用array_combine或其他一些方法來achi前夕陣列?可以肯定地說,第一個數組將始終與佈局方面的第二個數組匹配。所以你可以在數組1和數組2之間畫線。

回答

2

爲什麼不寫自己的功能?

function my_array_combine(array $keys, array $values) { 
    $result = array(); 
    for ($i = 0; $i < count($keys); $i++) { 
     $key = $keys[$i]; 
     if (!isset($result[$key])) { 
      $result[$key] = array(); 
     } 
     $result[$key] = array_merge($result[$key], $values[$i]); 
    } 
    return $result; 
}