交付响应中的多个变量

时间:2014-12-26 12:25:11

标签: php json web-services

我已存储在$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;

}

2 个答案:

答案 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);