Php 如何解析这种格式?
我试图解析一个字符串,如下所示: ['x'、'y'、'z'、['a']、[]、[['name'、'2']、['name'、'40']] 我想把所有的东西都放在这样一个数组中:Php 如何解析这种格式?,php,serialization,Php,Serialization,我试图解析一个字符串,如下所示: ['x'、'y'、'z'、['a']、[]、[['name'、'2']、['name'、'40']] 我想把所有的东西都放在这样一个数组中: 0 => string 'x' (length=1) 1 => string 'y' (length=1) 2 => string 'z' (length=1) 3 => array (size=1) 0 => string 'a' (length=1)
0 => string 'x' (length=1)
1 => string 'y' (length=1)
2 => string 'z' (length=1)
3 =>
array (size=1)
0 => string 'a' (length=1)
4 =>
array (size=0)
empty
5 =>
array (size=2)
0 =>
array (size=2)
0 => string 'name' (length=4)
1 => string '2' (length=1)
1 =>
array (size=2)
0 => string 'name' (length=4)
1 => string '40' (length=2)
有没有合适的方法来实现它,因为我试图创建一系列函数,但最后总是一团糟,无法正常工作。这几乎是一个JSON字符串,所以将其转换为一个,然后就可以轻松运行了
$nearlyJson = "['x','y','z',['a'],[],[['name','2'],['name','40']]]";
$nowItsJson = str_replace("'", '"', $nearlyJson );
$NowItsAPHPArray = json_decode($nowItsJson );
print_r($NowItsAPHPArray );
结果
Array
(
[0] => x
[1] => y
[2] => z
[3] => Array
(
[0] => a
)
[4] => Array
(
)
[5] => Array
(
[0] => Array
(
[0] => name
[1] => 2
)
[1] => Array
(
[0] => name
[1] => 40
)
)
)
如果你将s替换为s,那么你就有了一个JSON字符串,可以对其进行JSON_解码。谢谢你,我知道我可以使用JSON_解码,但是,由于开头和结尾都存在错误,所以它不起作用。像这样的批量替换引号只会在你得到实际包含引号的数据之前起作用,在这一点上,它要么无法解码,或者破坏数据。您需要修复产生这种无意义编码的原因,或者实现适当的解码器。