如何使用php通过url参数访问单个json帖子?
当我试图在没有任何框架或数据库的情况下使用PHP创建RESTFUL API时,我目前遇到了这个问题。我用PHP解析了JSON数据,但根据您在URL中键入的查询参数,在尝试访问某个帖子时遇到了问题 这是我的php代码:如何使用php通过url参数访问单个json帖子?,php,json,Php,Json,当我试图在没有任何框架或数据库的情况下使用PHP创建RESTFUL API时,我目前遇到了这个问题。我用PHP解析了JSON数据,但根据您在URL中键入的查询参数,在尝试访问某个帖子时遇到了问题 这是我的php代码: <?php header('Access-Control-Allow-Origin: *'); header ('Content-Type: application/json'); $jsondata = file_get_contents("credits.json")
<?php
header('Access-Control-Allow-Origin: *');
header ('Content-Type: application/json');
$jsondata = file_get_contents("credits.json");
print_r(json_encode($jsondata));
?>
例如:若我的URL看起来像这样:,那个么键入只能访问具有特定id的单个帖子
$data = '{
"credits": [
{
"creditId": 123,
"id": 1,
"client": "Peter"
},
{
"creditId": 789,
"id": 2,
"client": "Jonas"
}
]
}';
$data = json_decode($data,true);
$row = array_keys(array_combine(array_keys($data['credits']), array_column($data['credits'], 'id')),$_GET['id']);
if(isset($_GET['id'])){
print_r($data['credits'][$row[0]]);
}
else{
print_r($data);
}
第一步是将json解码为数组。然后使用php数组函数,我在多维数组中搜索您使用$\u GET['id']
从url接收的值,并仅打印具有此id的块,否则打印整个数组
就像你问的那样,如果你不输入任何id,你的url将适用于所有结果,如果你在url中设置了id,则将适用于属于此id的特定结果
$data = '{
"credits": [
{
"creditId": 123,
"id": 1,
"client": "Peter"
},
{
"creditId": 789,
"id": 2,
"client": "Jonas"
}
]
}';
$data = json_decode($data,true);
$row = array_keys(array_combine(array_keys($data['credits']), array_column($data['credits'], 'id')),$_GET['id']);
if(isset($_GET['id'])){
print_r($data['credits'][$row[0]]);
}
else{
print_r($data);
}