1

我在解析字符串时遇到了困难。这是我的结构:

"Title":"Avatar","Year":"2009","Rated":"PG-13","Released":"18 Dec 2009","Runtime":"2 h 42 min"

我想要做的是将每个结果放入一个自己的变量中,以便最终得到 $title、$year、$runtime 等。

我知道,有很多不同的 PHP 函数,但是在尝试了很多但没有得到我想要的结果之后,我只需要一些帮助。

4

2 回答 2

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;
    }
于 2012-05-26T10:24:17.303 回答
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

它有效,只需看看这个演示。您可以使用以下变量:

echo $arr["Title"];

但是如果你真的需要$title我不建议这样做)你可以使用extract函数

extract($arr);

你可以像这样访问它:

echo $title;
于 2012-05-26T10:25:32.563 回答