我已存储在$results
数组中,我的代码是:
deliver_responce("success", "ticket found", $results[0]);
我想传递一个包含$results
数组的所有元素的响应。
提前致谢!
提供响应功能
function deliver_responce($status, $status_message, $data) {
header("HTTP/1.1 $status $status_message");
$response ['status'] = $status;
$response['status_message'] = $status_message;
$response['data'] = $data;
$json_response = json_encode($response);
echo $json_response;
}
答案 0 :(得分:1)
您说您希望提供$response
的所有值。我会像这样实现函数deliver_response()
:
function deliver_response($status, $message, array $data)
{
header("HTTP/1.1 200 $status_message");
$response = array(
'status' => $status,
'status_message' => $status_message,
'data' => $data,
);
echo(json_encode($response));
}
你叫它:
deliver_response("success", "ticket found", $results);
API的客户端将响应主体(使用您想要的任何通信机制)读入变量$body
,然后使用json_decode($body, TRUE);
取回存储在$response
中的数组并执行操作随心所欲的数据:
$body = file_get_contents('URL of the API here');
$response = json_decode($body, TRUE);
echo('Status: '.$response['status']."\n");
echo('Message: '.$response['status_message']."\n");
echo('Data: '); print_r($response['data']);
答案 1 :(得分:0)
如果您的数组包含多个索引,为什么要传递单个元素$ results [0]。试试这个deliver_responce("success", "ticket found", $results);