gpt4 book ai didi

PHP preg_split 和替换

转载 作者:可可西里 更新时间:2023-10-31 23:06:44 24 4
gpt4 key购买 nike

我目前正在运行这段代码。它在有 },{ 的地方拆分变量 $json,但它也删除了这些字符,但实际上我需要尾随和前导括号才能使 json_decode 函数工作。我已经创建了一个解决方法,但想知道是否有更优雅的解决方案?

<?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;它基本上是两个 json 字符串,它们之间有一个逗号。

你试图通过拆分它们来解决这个问题,但有一个更简单的方法来解决这个问题:

解决方法是将字符串括在方括号中,从而将其转换为有效的 JSON:

$json = '[' . $json . ']';

瞧。该字符串现在是有效的 json,只需调用一次 json_decode() 即可成功解析。

希望对您有所帮助。

关于PHP preg_split 和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16618667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com