2013-12-17 65 views
0

我有一個存儲的顏色數組,像這樣呈現。正如你所看到的,color_codes是以散列和逗號存儲的。php爆炸並刪除#和,

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [item_color] => Black 
        [color_codes] => #000000,#000000, 
       ) 

      [1] => Array 
       (
        [item_color] => Red 
        [color_codes] => #FF0033, 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [item_color] => White 
        [color_codes] => #FFFFFF, 
       ) 

      [1] => Array 
       (
        [item_color] => Black 
        [color_codes] => #0C0C0C,#0C0C0C, 
       ) 

     ) 
) 

是否有可能使用爆炸刪除每個顏色前面的#並用 - (短劃線)符號替換逗號。

會通過每個項目達到這個foreach?我已經嘗試刪除散列,所以把我沒有運氣。

for ($i = 0; $i < count($colours); $i++) { 
    $colours[$i]['color_codes'] = str_replace('#', '', $colours[$i]['color_codes']); 
} 

我所瞄準的是顏色,看起來像這樣,如果有兩個例如FFFFFF-FFFFFF-

+1

是主數組$顏色?那麼你的for循環是錯誤的。 $ colors [$ i] ['color_codes']不存在。 – chanchal118

+0

嗨是的主要aray是$顏色,我需要在數組內更深入一級呢? – user3004208

+1

是的。您可以在下面使用@sergio答案。 – chanchal118

回答

5

試試這個,希望這將有助於

foreach($mainArray as $arrayM){ 

    foreach($arrayM as $subArray){ 
     $subArray['color_codes'] = str_replace('#', '', $subArray['color_codes']); 
    } 
} 
+0

您可以爲外部foreach循環添加右括號嗎? – chanchal118

+0

呃,做完了!同時你寫了) – sergio

+0

非常感謝你的幫助。它工作完美。我只需要再次通過下一個數組。再次感謝:)我會標記我什麼時候可以 – user3004208