php拆分字符串,重复分隔符

时间:2016-12-17 07:25:47

标签: php json regex

如何拆分由','分隔的以下字符串?用PHP分隔数组?

字符串:

[{"sku":"PAP","name":"Butter","price":23,"quantity":2},{"sku":"PER","name":"Garlic","price":25,"quantity":1}]

必需的数组:

$array[0]= "sku":"PAP","name":"Butter","price":23,"quantity":2

$array[1]= "sku":"PER","name":"Garlic","price":25,"quantity":1

我无法根据分隔符进行分割,''因为它存在于数组元素中。

3 个答案:

答案 0 :(得分:1)

@Ruslan Osmanov是对的。 就像JSON一样解码。

<?php
  $a='[{"sku":"PAP","name":"Butter","price":23,"quantity":2},{"sku":"PER","name":"Garlic","price":25,"quantity":1}]';
  print_r(json_decode($a));
?>

结果:

Array
(
    [0] => stdClass Object
        (
            [sku] => PAP
            [name] => Butter
            [price] => 23
            [quantity] => 2
        )

    [1] => stdClass Object
        (
            [sku] => PER
            [name] => Garlic
            [price] => 25
            [quantity] => 1
        )

)

答案 1 :(得分:0)

首先,删除不需要的字符:

$str=str_replace("[{","",$str);
$str=str_replace("}]","",$str);

然后,分开:

$array=preg_split("},{",$str);

答案 2 :(得分:0)

字符串看起来像JSON所以请使用php的json_decode()方法。