php - 如何获取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 的 "pages" 是一个数组,而不是一个以页面 id 作为键的对象,可能难以迭代。
推荐阅读
- c++ - C ++井字游戏仅以一种组合获胜
- javascript - 将 javascript 文件添加到 Angular7 dist 文件夹
- database - AWS QLDB 的数据加密
- java - 在尝试使复合类方法对另一个包类可见时避免违反 SOLID 原则
- cassandra - 如何在没有分区键的情况下使用 ORDER_BY 搜索记录
- html - IE/Edge 不考虑绝对底部
- javascript - 有没有办法将事件监听器添加到类中?
- ios - UIAlertController 没有立即显示
- spring - 页面加载时的 Spring MVC 表单验证
- h2o - 可以为 h2o.save_model() 设置文件名(而不是简单地使用 model_id 值)?