从JSON PHP[Laravel]搜索对象
我有这样的json数据 此json源于从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
$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
)