我目前有此代码正在运行。它分裂了变量$ json,其中有},{但它也删除了这些字符,但实际上我需要json_decode函数的尾部和前导括号。我创建了一个解决方案,但想知道是否有更优雅的解决方案?PHP preg_split并替换
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5},{"a":1,"b":2,"c":3,"d":4,"e":5}';
$individuals = preg_split('/},{/',$json);
$loop_count =1;
foreach($individuals as $object){
if($loop_count == 1){$object .='}';}
else{$object ="{".$object;}
print_r(json_decode($object));
echo '<br />';
$loop_count++;
}
?>
编辑: 的$ JSON变量实际检索作为JSON对象。一个合适的例子是
[{“id”:“foo”,“row”:1,“col”:1,“height”:4,“width”:5},{“id” :“bar”,“row”:2,“col”:3,“height”:4,“width”:5}]
如果你想使用JSON数据,你为什么不简单地使用PHP的JSON函数来获取它?您可以将字符串编码为JSOn对象并访问变量。 – tim
是的,JSON_decode()适用于将JSON数据转换为可用的php对象(或者如果您设置参数,则为数组)。否则,您可能希望查看“被动”与regexp的匹配。 – CP510
变量$ json被发送到这个文件。我为这个问题提供了一个硬编码的例子。看一下编辑和解释的问题。 – Somk