douzi7711 2015-02-03 06:04
浏览 164
已采纳

PHP:将逗号分隔的特殊符号字符串拆分为数组

I already seen how to split a comma delimited string into an array in PHP using

$myArray = explode(',', $myString);

but how to perform the same operation when there is an special symbol after some comma separated values, when finding the special symbol(@), then start a new inner array.

i have a string like this

Treatment1,2,500,0%,1000,note1, @ Treatment2,1,2000,250 INR,1750,note2,

then i need an array like this

Array
(

        [0] => Array
            (
                [treatment] => Treatment1
                [quantity] => 2
                [cost] => 500
                [discount] => 0%
                [discount_type] => INR
                [total] => 1000
                [note] => note1 
            )

        [1] => Array
            (
                [treatment] => Treatment2
                [quantity] => 1
                [cost] => 2000
                [discount] => 250
                [discount_type] => INR
                [total] => 1750
                [note] => note2 
            )
)

any help would be greatly appreciated

  • 写回答

2条回答 默认 最新

  • dqdl6469 2015-02-03 06:10
    关注

    Try this -

    str = "your string";
    $arr = explode('@', $str);
    $newArray = array();
    foreach ($arr as $val) {
       $temp = explode(',', $val);
       $newTemp['treatment'] = $temp[0];
       $newTemp['quantity'] = $temp[1];
       $newTemp['cost'] = $temp[2];
       $newTemp['discount'] = $temp[3];
       $newTemp['discount_type'] = "INR";
       $newTemp['total'] = $temp[4];
       $newTemp['note'] = $temp[5];
       $newArray[] = $newTemp;
       $temp = array();
    }
    var_dump($newArray);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?