为了账号安全,请及时绑定邮箱和手机立即绑定

JSON:使用php从数组中提取特定行

JSON:使用php从数组中提取特定行

PHP
白衣染霜花 2021-04-08 18:19:47
我正在尝试从我拥有的JSON格式中获取特定数据。我在练习中使用预构建的json。JSON格式是这样的:[{"userId": 1,"id": 1,"title": "sunt aut facere repellat provident occaecati excepturi optio  reprehenderit","body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt   rem eveniet architecto"},{"userId": 1,"id": 2,"title": "qui est esse","body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"},{"userId": 1,"id": 3,"title": "ea molestias quasi exercitationem repellat qui ipsa sit aut","body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"}] 等等...所以我要做的是从每个对象中获取标题数组。这是我的代码:<?php$url = "https://jsonplaceholder.typicode.com/posts" ;//  Initiate curl$ch = curl_init() ;curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch) ;curl_close($ch) ;$data = json_decode($result);foreach ($data as $datavalue) {echo $datavalue->title;echo "<br/>" ;}现在,我要显示的是特定对象的标题,比如说user id = 2。我该如何说服。请帮助我的查询。任何帮助,我们真的很感激。
查看完整描述

3 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

您可以在循环中添加条件以检查想要的行,当找到时,可以将其存储在这样的变量中:


<?php



  $data = json_decode($result);


  $data = json_decode($result);


  $userId = 1;


  $result = null;


  foreach ($data as $datavalue) {

    echo $datavalue->title;

    if ($datavalue->userId == $userId) {

       $result = $datavalue;

       break;

    }

    echo "<br/>" ;

  }


var_dump($result); // if you want to display the title you can simply do $result->title but remember to check if $result is not null



查看完整回答
反对 回复 2021-04-23
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

您可以使用以下内容:


$id = 2;

getTitle($data, $id);


function getTitle($data = null, $id = null)

{

    foreach ($data as $datavalue) {

        if ($datavalue->id == $id) {

            echo $datavalue->title;

            echo "<br/>";

        }

    }

}


查看完整回答
反对 回复 2021-04-23
  • 3 回答
  • 0 关注
  • 214 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信