代码之家  ›  专栏  ›  技术社区  ›  remkovdm

php如何在数组中添加逗号,而不使其成为单独的值?

  •  2
  • remkovdm  · 技术社区  · 8 年前

    我的字符串:

    'KCP-PRO;first_name last_name;address;zipcode;country' //for example: 'KCP-PRO;Jon Doe;Box 564;02201;USA'
    or
    'KCP-SAT-PRO;first_name last_name;address;zipcode;country'
    

    如何更改第一部分(KCP-PRO或KCP-SAT-PRO)并将其更改为(KCP、PRO或KCP、SAT、PRO)?结果必须是:

    'KCP,PRO;first_name last_name;address;zipcode;country'
    or
    'KCP,SAT,PRO;first_name last_name;address;zipcode;country'
    
    2 回复  |  直到 8 年前
        1
  •  3
  •   ponciste    8 年前

    我自己还没有试过代码,但我想这会奏效

    $string = 'KCP-SAT-PRO;first_name last_name;address;zipcode;country';
    
    $stringExploded = explode(';', $string);
    $stringExploded[0] = str_replace('-', ',', $stringExploded[0]);
    $output = implode(';', $stringExploded);
    
    //output should be KCP,SAT,PRO;first_name last_name;address;zipcode;country
    

    希望这有帮助:)

        2
  •  1
  •   Narendrasingh Sisodia    8 年前

    或者你可以使用 preg_replace_callback 函数,使用以下正则表达式

    ^[^;]*
    

    所以您的代码如下

    echo preg_replace_callback("/^[^;]*/",function($m){
         return str_replace("-",',',$m[0]);
    },"KCP-SAT-PRO;first_name last_name;address;zipcode;country");