如何获取 wiki pageid?

How to get wiki pageid?

我目前正在使用PHP制作一个可以在wiki上做研究的聊天机器人,并自动发送介绍,这里是wiki api json(https://zh.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&redirects=1&titles=search_title)

{"batchcomplete":"","query":{"redirects":[{"from":"search_title","to":"search_title"}],"pages":{"541":{"pageid":541,"ns":0,"title":"search_title","extract":"ablablablablablablablablablablabla。"}}}}

我想通过

获取摘录部分

$data=$jsondata['query']['pages']["541"]['extract'];

不过好像要先知道pageid是'541',有什么方法可以先知道padeid吗??

您应该寻找一种在不知道键的情况下迭代数组值的方法。我不是 PHP 开发人员,但我认为 foreach 可以:

foreach ($jsondata['query']['pages'] as $pageid => $pagedata) {
    extract = $pagedata['extract']
    ...
}

还有一个用于查询的 formatversion=2 参数,除其他外,将使

action=query's "pages" be an array, instead of an object with page ids as keys that can be difficult to iterate.