php 輸出json函數(shù) 2024-09-09

/**
 * JSON 響應(yīng)函數(shù)
 *
 * @param mixed $data 響應(yīng)數(shù)據(jù)
 * @param int $code 響應(yīng)狀態(tài)碼
 * @param bool $halt 是否終止腳本執(zhí)行
 * @param string $successMsg 成功時的消息
 * @param string $errorMsg 錯誤時的消息
 */
function json_responseV1($data = null, int $code = 1, bool $halt = true, string $successMsg = 'Success', string $errorMsg = 'Error')
{
    // 設(shè)置默認(rèn) HTTP 響應(yīng)頭
    header('Content-Type: application/json; charset=utf-8');

    try {

        // 構(gòu)建響應(yīng)數(shù)據(jù)
        $response = [
            'code' => $code,
            'msg' => in_array($code, [0, 200]) ? $successMsg : $errorMsg,
            'data' => $data,
        ];

        // 嘗試將響應(yīng)數(shù)據(jù)編碼為 JSON
        $jsonResponse = json_encode($response, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);

        if ($jsonResponse === false) {
            throw new \Exception('JSON 編碼失敗');
        }
    } catch (\Exception $e) {

        // 如果 JSON 編碼失敗,返回錯誤信息
        $response = [
            'code' => 500,
            'msg' => 'Internal Server Error',
            'data' => $e->getMessage(),
        ];

        $jsonResponse = json_encode($response, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
    }

    // 輸出 JSON 響應(yīng)
    echo $jsonResponse;

    // 終止腳本執(zhí)行
    if ($halt) {
        exit;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容