【问题标题】:show results of several APIs in php js在 php js 中显示几个 API 的结果
【发布时间】:2020-03-10 14:22:35
【问题描述】:

我是php,js的小菜鸟,我需要制作一个扫描API URL https://api.example.com/userid的脚本

其中 userid 必须从 0 扫描到 100 并且只显示包含特定数组中的值的 API 结果以及那些在该数组中没有内容的 API 结果,根本不显示他们。

我将衷心感谢,谢谢。

【问题讨论】:

    标签: javascript php arrays json api


    【解决方案1】:

    您正在寻找的是for 循环。在您的 api.php 文件中,如果您只想扫描 100 个房间,则无需指定查询参数。如果我理解正确的话,您从 API 中检索到的已经是 JSON,这就是为什么您只是输出从该请求中获得的任何内容。

    你可以这样做:

    $data = ['rooms' => []];
    
    for ($i = 1; $i < 101; $i++) {
      $url = 'https://www.api.example.com/'. $i. '-roomid';
      $result = file_get_contents($url);
      $json = json_decode($result);
    
      if (!empty($json['members'])) {
        $data['rooms'][] = $json; // only append to the list if there are members
      }
    }
    
    echo json_encode($data);
    

    因此,在我上面的示例中,我 decode 一个 JSON 字符串,它创建了一个 stdClass 对象。从那里,您可以解析从该 API 返回的任何内容并构建某种多维数组和encode 它。编码后,您可以回显它。

    很遗憾,我不能再告诉你了,因为我没有看到你正在使用的 API 的响应。

    【讨论】:

    • 我喜欢,我只有一个问题:如何让有空数组成员的api不显示?
    • 由于您从 API 解码 JSON 响应,您可以尝试执行以下操作:if (empty($json['members'])) continue;continue 将跳到循环的下一个迭代。
    • 如何将其添加到代码中?很抱歉给您带来不便
    • 非常感谢,最后一个问题,如果我想在 html 结果中显示所有数据?因为在我的 function.js 中只显示了一个
    • 对不起,我真的不明白你的问题。在 html 结果中显示所有数据到底是什么意思?你不是已经这样做了吗?
    猜你喜欢
    • 2013-04-01
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多