我在解析字符串时遇到了困难。这是我的结构:
"Title":"Avatar","Year":"2009","Rated":"PG-13","Released":"18 Dec 2009","Runtime":"2 h 42 min"
我想要做的是将每个结果放在一个自己的变量中,这样我最终得到$ title,$ year,$ runtime等。
我知道,有很多不同的PHP函数,但在尝试了很多这些函数后却没有得到我想要的结果,我只需要一些帮助。
答案 0 :(得分:1)
您可以尝试以下操作:
<?php
$string = "Title":"Avatar","Year":"2009","Rated":"PG-13","Released":"18 Dec 2009","Runtime":"2 h 42 min"
$segments = explode(',', $string);
foreach($segments as $segment) {
list($key, $value) = explode(':', $segment);
echo $key, ' ', $value;
}
答案 1 :(得分:1)
因为在对字符串进行少量修改后,您可以通过添加尾随{
和}
来使其成为JSON字符串。并在修改后的字符串上调用json_decode
函数:
$str = '"Title":"Avatar","Year":"2009","Rated":"PG-13","Released":"18 Dec 2009","Runtime":"2 h 42 min"';
$arr = json_decode("{{$str}}", true); // True to make it array, not object
// $arr contains parsed data
它有效,只需看看this demo。您可以使用以下变量:
echo $arr["Title"];
但如果您确实需要$title
(我不建议这样做),您可以使用extract
函数
extract($arr);
您可以像访问它一样访问它:
echo $title;