首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Wikipedia API搜索结果排序为数组

将Wikipedia API搜索结果排序为数组
EN

Stack Overflow用户
提问于 2013-12-11 03:45:23
回答 1查看 115关注 0票数 0

使用以下代码作为示例:

代码语言:javascript
复制
$wikisearch = "http://en.wikipedia.org/w/api.php?action=opensearch&search=inception";
$wikisearchlist = file_get_contents($wikisearch);
echo $wikisearchlist;

我明白了:

代码语言:javascript
复制
[
    "inception",
    [
        "Inception",
        "Inception Motorsports",
        "Inception of Darwin's theory",
        "Inception (soundtrack)",
        "Inception (McCoy Tyner album)",
        "Inception (Download album)",
        "Inception/Nostalgia",
        "Inception date",
        "Inception (disambiguation)"
    ]
]

我想首先删除开始时的查询("inception"),然后解码JSON以创建一个包含所有结果的数组。然后,删除其中不包含“(配乐)”和“(下载相册)”的数组元素(除第一个结果外),因此最后的数组看起来如下:

代码语言:javascript
复制
[0] => "Inception"
[1] => "Inception (soundtrack)"
[2] => "Inception (Download album)"

做这件事最好的方法是什么?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-11 04:27:41

解码JSON

代码语言:javascript
复制
$json = json_decode($wikisearchlist);
$results = $json[1];

过滤数组

代码语言:javascript
复制
$first = array_shift($results);

$filtered = array_filter($results, function($result) {
    return strpos($result, '(soundtrack)') !== false
        || strpos($result, '(Download album)') !== false;
});

array_unshift($filtered, $first);

这里的演示- http://codepad.viper-7.com/siX4aY

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20510123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档