Code Tu Tam

Hàm json_last_error trong PHP dùng để làm gì?

Rate this post

Định Nghĩa.

Hàm json_last_error – Trả về lỗi cuối cùng xảy ra khi sử dụng json_encode() hay sử dụng json_decode().

Cú pháp.

Cú pháp:

json_last_error ( void ) : int

– Trả về lỗi cuối cùng (nếu có) xảy ra trong quá trình mã hóa / giải mã JSON cuối cùng, không chỉ định JSON_THlaw_ON_ERROR.

Giá trị trả về.

– Trả về một số nguyên, giá trị có thể là một trong các hằng số sau:

Ví dụ.

Ví dụ 1 dùng hàm json_last_error() bình thương.

code:

<?php
// Một chuỗi json hợp lệ.
$json[] = '{"Organization": "PHP Documentation Team"}';

// Chuỗi json không hợp lệ sẽ gây ra cú pháp
// lỗi, trong trường hợp này chúng tôi đã sử dụng 'instead of' để báo lỗi
$json[] = "{'Organization': 'PHP Documentation Team'}";


foreach ($json as $string) {
    echo 'Decoding: ' . $string;
    json_decode($string);

    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo ' - No errors';
        break;
        case JSON_ERROR_DEPTH:
            echo ' - Maximum stack depth exceeded';
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - Underflow or the modes mismatch';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Unexpected control character found';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Syntax error, malformed JSON';
        break;
        case JSON_ERROR_UTF8:
            echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
        break;
        default:
            echo ' - Unknown error';
        break;
    }

    echo PHP_EOL;
}
?>

Kết quả:

Decoding: {"Organization": "PHP Documentation Team"} - No errors
Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON

Ví dụ 2 sử dụng json_last_error () với json_encode ()

code:

<?php
// Một chuỗi UTF-8 không hợp lệ.
$text = "\xB1\x31";

$json  = json_encode($text);
$error = json_last_error();

var_dump($json, $error === JSON_ERROR_UTF8);
?>

Kết quả:

string(4) "null"
bool(true)

Ví dụ 3 json_last_error () và JSON_THlaw_ON_ERROR

code:

<?php
// Chuỗi UTF8 không hợp lệ gây ra JSON_ERROR_UTF8
json_encode("\xB1\x31");

// Những điều sau đây không gây ra lỗi JSON
json_encode('okay', JSON_THROW_ON_ERROR);

// Trạng thái lỗi global không bị thay đổi bởi json_encode () trước đây
var_dump(json_last_error() === JSON_ERROR_UTF8);
?>

Kết quả:

bool(true)

Hàm liên quan

Thông tin thêm.

Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm json_last_error() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.
Cảm ơn các bạn đã ghé thăm codetutam.com

Exit mobile version