使用PHP和JSON创建第三方API

时间:2016-10-23 05:33:55

标签: php html arrays json api

我的网站有一个API,我想将它用于移动应用程序。但问题是这些API提供了大量不需要的数据,因此我想制作第三方API来过滤从第一个API获得的数据。

作为一个例子,我想过滤从第一个API获得的文章列表数据, 我做的是以下内容:

<?php
  header('Content-type: application/json');
  if (isset($_GET['kat'])) {
    $url = $_GET['kat'];
  } else {
    $url = null;
  }

  $app_list = file_get_contents('http://localhost/api/articles/lists');
  $app_list = json_decode($app_list, true);
  foreach ($app_list as $app) {
    $id = $app['id'];
    $uid = $app['user_id'];
    $cat = $app['category'];
    $tgl = $app['created_date'];
    $img = $app['image'];
    $posttipe = $app['post_user_type'];
    $komen = $app['count_comment'];
    $likes = $app['count_likes'];
    $c = substr($app['content'], 0, 100);
    $content= $c . "...";
    if ($cat == $url || !$url) {
      $list = array("id" => $id, "user_id" => $uid, "category" => $cat, "image" => $img, "post_user_type" => $posttipe, "count_comment" => $komen, "count_likes" => $likes, "created_date" => $tgl, "content" => $content);
    }
  }
  echo json_encode($list);
?>

所以我的问题是,我制作的API没有显示从API首先获得的所有文章列表。

我使用$_GET['kat'];来过滤文章类别

我应该在脚本中编辑什么?

1 个答案:

答案 0 :(得分:1)

您正在循环加载$list

$list = array("id" => $id, .....);

每次循环都在写$list

将此行更改为

    $list[] = array("id" => $id, .....);

现在您将创建一个数组数组,其中包含循环数据的所有结果。