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の 2 番目のパラメーターを追加してみてください。

$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 に答える