站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

php json常用方法有哪些

php json常用方法:1、json_encode(),用于對JSON格式的字符串進(jìn)行解碼;2、json_encode(),用于對JSON格式的字符串進(jìn)行解碼;3、json_last_error(),用于返回最后發(fā)生的錯誤。

php json常用方法有哪些

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

php json常用方法:

1、json_encode()

PHP json_encode() 用于對變量進(jìn)行 JSON 編碼,該函數(shù)如果執(zhí)行成功返回 JSON 數(shù)據(jù),否則返回 FALSE 。

語法

string json_encode ( $value [, $options = 0 ] )

示例:

<?php    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);    echo json_encode($arr); ?>

輸出結(jié)果:

{"a":1,"b":2,"c":3,"d":4,"e":5}

2、json_encode()

json_decode() 函數(shù)用于對 JSON 格式的字符串進(jìn)行解碼,并轉(zhuǎn)換為 PHP 變量。

語法:

mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

參數(shù):

  • json_string: 待解碼的 JSON 字符串,必須是 UTF-8 編碼數(shù)據(jù)

  • assoc: 當(dāng)該參數(shù)為 TRUE 時,將返回數(shù)組,F(xiàn)ALSE 時返回對象。

  • depth: 整數(shù)類型的參數(shù),它指定遞歸深度

  • options: 二進(jìn)制掩碼,目前只支持 JSON_BIGINT_AS_STRING 。

示例:

<?php    $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';     var_dump(json_decode($json));    var_dump(json_decode($json, true)); ?>

輸出結(jié)果:

object(stdClass)#1 (5) {     ["a"] => int(1)     ["b"] => int(2)     ["c"] => int(3)     ["d"] => int(4)     ["e"] => int(5) }  array(5) {     ["a"] => int(1)     ["b"] => int(2)     ["c"] => int(3)     ["d"] => int(4)     ["e"] => int(5) }

3、json_last_error()

json_last_error — 返回最后發(fā)生的錯誤

語法:

json_last_error()

如果有,返回 JSON 編碼解碼時最后發(fā)生的錯誤。會返回一個整型(integer),這個值會是以下的常量之一:

JSON 錯誤碼
常量 含義 可用性
JSON_ERROR_NONE 沒有錯誤發(fā)生
JSON_ERROR_DEPTH 到達(dá)了最大堆棧深度
JSON_ERROR_STATE_MISMATCH 無效或異常的 JSON
JSON_ERROR_CTRL_CHAR 控制字符錯誤,可能是編碼不對
JSON_ERROR_SYNTAX 語法錯誤
JSON_ERROR_UTF8 異常的 UTF-8 字符,也許是因為不正確的編碼。 PHP 5.3.3
JSON_ERROR_RECURSION One or more recursive references in the value to be encoded PHP 5.5.0
JSON_ERROR_INF_OR_NAN One or more NAN or INF values in the value to be encoded PHP 5.5.0
JSON_ERROR_UNSUPPORTED_TYPE 指定的類型,值無法編碼。 PHP 5.5.0
JSON_ERROR_INVALID_PROPERTY_NAME 指定的屬性名無法編碼。 PHP 7.0.0
JSON_ERROR_UTF16 畸形的 UTF-16 字符,可能因為字符編碼不正確。 PHP 7.0.0

示例:

<?php // 一個有效的 json 字符串 $json[] = '{"Organization": "PHP Documentation Team"}';  // 一個無效的 json 字符串會導(dǎo)致一個語法錯誤,在這個例子里我們使用 ' 代替了 " 作為引號 $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; } ?>

輸出結(jié)果:

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

推薦學(xué)習(xí):《PHP視頻教程》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
国自产精品手机在线观看视频| 日韩AV高清在线看片| 一本一本久久aa综合精品| 国产伦精品一区二区三区不卡| 久久精品国产99久久久古代| 99re在线精品视频| 无码国内精品人妻少妇| 久久r热这里有精品视频| 91精品在线播放| 国产亚洲精品拍拍拍拍拍| 久久精品国产国产精品四凭| 亚洲国产成人久久精品99| 四虎影院国产精品| 精品无码黑人又粗又大又长| 秋霞日韩久久理论电影| 日韩视频在线播放| 日韩精品电影在线观看| 日韩电影免费在线观看视频| 精品日韩一区二区三区视频| 日韩插啊免费视频在线观看| 日韩午夜福利无码专区a| 日韩精品无码一区二区三区免费| 日韩免费在线视频| 国产精品日韩专区| 亚洲?V乱码久久精品蜜桃| 亚洲精品无码日韩国产不卡?V| 亚洲欧洲精品成人久久曰影片| 亚洲国产主播精品极品网红| 国产高清在线精品一区二区三区| 亚洲国产婷婷综合在线精品| 国产精品自产拍在线观看花钱看| 精品国产91久久久久久久a | 亚洲AV日韩AV天堂久久| 日韩三级草久国产| 日韩专区在线观看| 免费国产在线精品一区| 亚洲精品456播放| 久久国产热这里只有精品| 99精品国产自在现线观看| 九九精品在线观看| 亚洲精品综合一二三区在线|