2013-01-03 69 views
1

我有數組是這樣的:如何concate值的基礎上數組元素在PHP

Array 
(
    [attribute] => Array 
     (
      [0] => sku 
      [1] => sku 
      [2] => attribute_set_id 
     ) 

    [value] => Array 
     (
      [0] => 1, 2, 3 
      [1] => 3, 4 
      [2] => 4 
     ) 

) 

在上述陣列屬性是像鑰匙和價值觀是價值觀。我想連接像這裏一樣鍵值需要sku將是(1,2,3,4)。我可以通過組合陣列加入它們。結果數組將會像

array('sku'=>'1,2,3,4',attribute_set_id=>'4'); 

上面的數組將是動態的。

+0

將總是存在2「SKU」陣列? – 2013-01-03 04:45:33

+0

感謝它並不總是兩個sku鍵,但可能不僅是sku,而且其他屬性鍵也是如此。 –

回答

2

我不認爲這是一個內置函數來完成這項工作,你必須編寫自己的算法,像

$result = array(); 
foreach ($array['attribute'] as $i => $key) 
{ 
    $value = str_replace(' ', '', $array['value'][$i]); 
    if (isset($result[$key])) 
     $result[$key] = implode(',', array_unique(array_merge(explode(',', $result[$key]), explode(',', $value)))); 
    else 
     $result[$key] = $value; 
} 
+0

難道這不會使1,2,3,3,4? –

+0

感謝您的代碼解決了我的問題。謝謝alot.but但有一點問題,它不會產生獨特的價值。 –

+0

糟糕,沒有看到。編輯。它確實需要很多解決方案。 ;)你可能想要爲這些值添加另一個'array_walk('trim',...)'或'str_replace('','',...)'。 – AndreKR