JSON 函数 业 ,精于勤 荒于嬉.
- JSON 函数 json_decode 对 JSON 格式的字符串进行解码
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
1
<?php
2
$json
=
'{"a":1,"b":2,"c":3,"d":4,"e":5}'
;
3
var_dump(json_decode(
$json
));
4
var_dump(json_decode(
$json
, true));
5
?>
示例2
1
<?php
2
$json
=
'{"foo-bar": 12345}'
;
3
$obj
= json_decode(
$json
);
4
print
$obj
->{
'foo-bar'
};
5
// 12345
6
?>
示例3
01
<?php
02
// the following strings are valid JavaScript but not valid JSON
03
// the name and value must be enclosed in double quotes
04
// single quotes are not valid
05
$bad_json
=
"{ 'bar': 'baz' }"
;
06
json_decode(
$bad_json
);
07
// null
08
// the name must be enclosed in double quotes
09
$bad_json
=
'{bar: "baz" }'
;
10
json_decode(
$bad_json
);
11
// null// trailing commas are not allowed
12
$bad_json
=
'{bar: "baz", }'
;
13
json_decode(
$bad_json
);
14
// null
15
?>
示例4
01
<?php
02
// Encode the data.
03
$json
= json_encode(
array
(1 =>
array
(
'English'
=>
array
(
'One'
,
'January'
),
'French'
=>
array
(
'Une'
,
'Janvier'
))));
04
// Define the errors.
05
$constants
= get_defined_constants(true);
06
$json_errors
=
array
();
07
foreach
(
$constants
[
"json"
]
as
$name
=>
$value
) {
08
if
(!
strncmp
(
$name
,
"JSON_ERROR_"
, 11)) {
09
$json_errors
[
$value
] =
$name
;
10
}
11
}
12
// Show the errors for different depths.
13
foreach
(range(4, 3, -1)
as
$depth
) {
14
var_dump(json_decode(
$json
, true,
$depth
));
15
echo
'Last error: '
,
$json_errors
[json_last_error()], PHP_EOL, PHP_EOL;
16
}
17
?>
示例5
1
<?php
2
$json
= '{
3
"number"
: 12345678901234567890}
4
';
5
var_dump(json_decode(
$json
));
6
var_dump(json_decode(
$json
, false, 512, JSON_BIGINT_AS_STRING));
7
?>
- JSON 函数 json_encode 对变量进行 JSON 编码
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
1
<?php
2
$arr
=
array
(
'a'
=>1,
'b'
=>2,
'c'
=>3,
'd'
=>4,
'e'
=>5);
3
echo
json_encode(
$arr
);
4
?>
示例2
01
<?php
02
$a
=
array
(
'<foo>'
,
"'bar'"
,
'"baz"'
,
'&blong&'
,
"\xc3\xa9"
);
03
echo
"Normal: "
, json_encode(
$a
),
"\n"
;
04
echo
"Tags: "
, json_encode(
$a
, JSON_HEX_TAG),
"\n"
;
05
echo
"Apos: "
, json_encode(
$a
, JSON_HEX_APOS),
"\n"
;
06
echo
"Quot: "
, json_encode(
$a
, JSON_HEX_QUOT),
"\n"
;
07
echo
"Amp: "
, json_encode(
$a
, JSON_HEX_AMP),
"\n"
;
08
echo
"Unicode: "
, json_encode(
$a
, JSON_UNESCAPED_UNICODE),
"\n"
;
09
echo
"All: "
, json_encode(
$a
, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE),
"\n\n"
;
10
$b
=
array
();
11
echo
"Empty array output as array: "
, json_encode(
$b
),
"\n"
;
12
echo
"Empty array output as object: "
, json_encode(
$b
, JSON_FORCE_OBJECT),
"\n\n"
;
13
$c
=
array
(
array
(1,2,3));
14
echo
"Non-associative array output as array: "
, json_encode(
$c
),
"\n"
;
15
echo
"Non-associative array output as object: "
, json_encode(
$c
, JSON_FORCE_OBJECT),
"\n\n"
;
16
$d
=
array
(
'foo'
=>
'bar'
,
'baz'
=>
'long'
);
17
echo
"Associative array always output as object: "
, json_encode(
$d
),
"\n"
;
18
echo
"Associative array always output as object: "
, json_encode(
$d
, JSON_FORCE_OBJECT),
"\n\n"
;
19
?>
示例3
1
<?php
2
echo
"Strings representing numbers automatically turned into numbers"
.PHP_EOL;
3
$numbers
=
array
(
'+123123'
,
'-123123'
,
'1.2e3'
,
'0.00001'
);
4
var_dump(
$numbers
, json_encode(
$numbers
, JSON_NUMERIC_CHECK));
5
echo
"Strings containing improperly formatted numbers"
.PHP_EOL;
6
$strings
=
array
(
'+a33123456789'
,
'a123'
);
7
var_dump(
$strings
, json_encode(
$strings
, JSON_NUMERIC_CHECK));
8
?>
示例4
01
<?php
02
echo
"连续数组"
.PHP_EOL;
03
$sequential
=
array
(
"foo"
,
"bar"
,
"baz"
,
"blong"
);
04
var_dump(
$sequential
, json_encode(
$sequential
));
05
echo
PHP_EOL.
"非连续数组"
.PHP_EOL;
06
$nonsequential
=
array
(1=>
"foo"
, 2=>
"bar"
, 3=>
"baz"
, 4=>
"blong"
);
07
var_dump(
$nonsequential
, json_encode(
$nonsequential
));
08
echo
PHP_EOL.
"删除一个连续数组值的方式产生的非连续数组"
.PHP_EOL;
09
unset(
$sequential
[1]);
10
var_dump(
$sequential
, json_encode(
$sequential
));
11
?>
示例5
1
<?php
2
var_dump(json_encode(12.0, JSON_PRESERVE_ZERO_FRACTION));
3
var_dump(json_encode(12.0));
4
?>
- JSON 函数 json_last_error_msg Returns the error string of the last json_encode() or json_decode() call
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
json_last_error_msg
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
json_last_error_msg — Returns the error string of the last json_encode() or json_decode() call
说明
json_last_error_msg(): stringReturns the error string of the last json_encode() or json_decode() call, which did not specify
JSON_THROW_ON_ERROR
.参数
此函数没有参数。
返回值
Returns the error message on success, or
"No error"
if no error has occurred.
- JSON 函数 json_last_error 返回最后发生的错误
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
01
<?php
02
// 一个有效的 json 字符串$json[] = '{
03
"Organization"
:
"PHP Documentation Team"
}
04
';
05
// 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 ' 代替了 " 作为引号$json[] = "{
06
'Organization'
:
'PHP Documentation Team'
}
07
";
08
foreach
(
$json
as
$string
) {
09
echo
'Decoding: '
.
$string
;
10
json_decode(
$string
);
11
switch
(json_last_error()) {
12
case
JSON_ERROR_NONE:
echo
' - No errors'
;
13
break
;
14
case
JSON_ERROR_DEPTH:
echo
' - Maximum stack depth exceeded'
;
15
break
;
16
case
JSON_ERROR_STATE_MISMATCH:
echo
' - Underflow or the modes mismatch'
;
17
break
;
18
case
JSON_ERROR_CTRL_CHAR:
echo
' - Unexpected control character found'
;
19
break
;
20
case
JSON_ERROR_SYNTAX:
echo
' - Syntax error, malformed JSON'
;
21
break
;
22
case
JSON_ERROR_UTF8:
echo
' - Malformed UTF-8 characters, possibly incorrectly encoded'
;
23
break
;
24
default
:
echo
' - Unknown error'
;
25
break
;
26
}
27
echo
PHP_EOL;
28
}
29
?>
示例2
1
<?php
2
// 无效的 UTF8 序列$text = "\xB1\x31";
3
$json
= json_encode(
$text
);
4
$error
= json_last_error();
5
var_dump(
$json
,
$error
=== JSON_ERROR_UTF8);
6
?>
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)