Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JSON PHP[Laravel]搜索对象_Php_Json_Laravel_Api - Fatal编程技术网

从JSON PHP[Laravel]搜索对象

从JSON PHP[Laravel]搜索对象,php,json,laravel,api,Php,Json,Laravel,Api,我有这样的json数据 此json源于 $path = public_path() . "/users/project/$endpoint/$id_resource.json"; $file = File::get($path); return $file 如果我想用url搜索id:1:localhost/show/json?id=1 结果是 [ { "id": 1, "Name": { "FirstName": "Wilmer", "LastNam

我有这样的json数据

此json源于

$path = public_path() . "/users/project/$endpoint/$id_resource.json";
$file = File::get($path);
return $file
如果我想用url搜索id:1:localhost/show/json?id=1 结果是

[
  {
    "id": 1,
    "Name": {
      "FirstName": "Wilmer",
      "LastName": "Crona",
      "FullName": "Mr. Cameron Prosacco"
    },
    "Address": {
      "Address1": "84154 Vickie Burg Apt. 994",
      "Address2": "Suite 339",
      "ZipCode": "89080-0376"
    },
    "Phone": "316-269-7694 x1364"
  }
]
我该怎么办?

试试
返回collect($temp)->where('id',$request->get('id'))->first()
其中$temp是您的json数据

$data='[
  {
    "id": 1,
    "Name": {
      "FirstName": "Wilmer",
      "LastName": "Crona",
      "FullName": "Mr. Cameron Prosacco"
    },
    "Address": {
      "Address1": "84154 Vickie Burg Apt. 994",
      "Address2": "Suite 339",
      "ZipCode": "89080-0376"
    },
    "Phone": "316-269-7694 x1364"
  }
]';


$data=json_decode($data,true);



foreach($data as $row){
    if($row['id']==$_GET['id']){
        echo '<pre>';
        print_r($row);
        echo '</pre>';
    }
}
这是我正在使用的url,这是输出:


对不起。我忘了,这个json数据是从publicIm中的json文件中获取的。我忘了,这个json数据是从我的laravel Public中的json文件中获取的。我看到了你的照片,这也是我得到它的地方。最好在你的
foreach
循环中使用
return
break
,因为即使找到了正确的ID,它也会遍历整个数组。另外,您没有关闭
元素。我修复了结束标记。您是对的。我认为它应该遍历整个数组,以防有重复的值。问题没有说明这一点,所以我只是假设我们要检查整个阵列。谢谢@pr1nc3,我使用了我们的方法和工作。谢谢
http://localhost/scripts/test.php?id=2
Array
(
    [id] => 2
    [Name] => Array
        (
            [FirstName] => Mercedes
            [LastName] => Kshlerin
            [FullName] => Dr. Kellie Bashirian
        )

    [Address] => Array
        (
            [Address1] => 12638 Cali Spurs
            [Address2] => Suite 353
            [ZipCode] => 76622
        )

    [Phone] => 319-329-3169 x8848
)