1

我正在尝试将标题存储在一个数组中,并从下面的 url 中提取长 cmcontinue 字符串。

http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:1980_births&format=json

我当前的代码:

$url = 'http://en.wikipedia.org/w/api.php?
action=query&list=categorymembers&cmtitle=Category:'.$cat.'&format=json';

$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, "asdf");

$c = curl_exec($ch);
$json = json_decode($c);

$array = $json->{'query'}->{'categorymembers'}->{'title'};
4

1 回答 1

6

尝试添加json_decode的第二个参数,例如:

$json = json_decode($c, true);

并获得cmcontinue价值:

echo $json["query-continue"]["categorymembers"]["cmcontinue"];

对于titles

$titles = array();
foreach($json["query"]["categorymembers"] as $vals) {
    array_push($titles, $vals["title"]);
}

echo "<pre>"; print_r($titles);
于 2012-11-25T06:00:02.073 回答