2013-12-17 64 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