json_decode
(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)
json_decode β ΠΠ΅ΠΊΠΎΠ΄ΡΡ ΡΡΠ΄ΠΎΠΊ JSON
ΠΠΏΠΈΡ
json_decode(Β Β Β Β string $json,Β Β Β Β ?bool $associative = null,Β Β Β Β int $depth = 512,Β Β Β Β int $flags = 0): mixed
ΠΡΠΈΠΉΠΌΠ°Ρ Π·Π°ΠΊΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠΉ Ρ JSON ΡΡΠ΄ΠΎΠΊ Ρ ΠΏΠ΅ΡΠ΅ΡΠ²ΠΎΡΡΡ ΠΉΠΎΠ³ΠΎ Π½Π° PHP-Π·Π½Π°ΡΠ΅Π½Π½Ρ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ²
json
Π‘ΡΡΠΎΠΊΠ° (string)json
Π΄Π»Ρ Π΄Π΅ΠΊΠΎΠ΄ΡΠ²Π°Π½Π½Ρ.
Π€ΡΠ½ΠΊΡΡΡ ΠΏΡΠ°ΡΡΡ ΡΡΠ»ΡΠΊΠΈ Π· ΡΡΠ΄ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄ΡΠ²Π°Π½Π½Ρ UTF-8.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
PHP ΡΠ΅Π°Π»ΡΠ·ΡΡ Π½Π°Π΄ΠΌΠ½ΠΎΠΆΠΈΠ½Π° JSON, ΡΠΊΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ Ρ ΠΏΠΎΡΠ°ΡΠΊΠΎΠ²ΠΎΠΌΡ Β»Β RFC 7159
associative
Π―ΠΊΡΠΎ true
, ΠΎΠ±'ΡΠΊΡΠΈ JSON Π±ΡΠ΄ΡΡΡ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡ ΡΠΊ Π°ΡΠΎΡΡΠ°ΡΠΈΠ²Π½Ρ ΠΌΠ°ΡΠΈΠ²ΠΈ (array); ΡΠΊΡΠΎ false
, ΠΎΠ±'ΡΠΊΡΠΈ JSON Π±ΡΠ΄ΡΡΡ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡ ΡΠΊ ΠΎΠ±'ΡΠΊΡΠΈ (object). Π―ΠΊΡΠΎ null
, ΠΎΠ±'ΡΠΊΡΠΈ JSON Π±ΡΠ΄ΡΡΡ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡ ΡΠΊ Π°ΡΠΎΡΡΠ°ΡΠΈΠ²Π½Ρ ΠΌΠ°ΡΠΈΠ²ΠΈ (array) Π°Π±ΠΎ ΠΎΠ±'ΡΠΊΡΠΈ (object) Π² Π·Π°Π»Π΅ΠΆΠ½ΠΎΡΡΡ Π²ΡΠ΄ ΡΠΎΠ³ΠΎ, ΡΠΈ Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° **JSON_OBJECT_AS_ARRAY
**Π²flags
depth
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π° Π³Π»ΠΈΠ±ΠΈΠ½Π° Π²ΠΊΠ»Π°Π΄Π΅Π½ΠΎΡΡΡ ΡΡΡΡΠΊΡΡΡΠΈ, Π½Π° ΡΠΊΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠΈΠΌΠ΅ΡΡΡΡ Π΄Π΅ΠΊΠΎΠ΄ΡΠ²Π°Π½Π½Ρ. ΠΠ½Π°ΡΠ΅Π½Π½Ρ ΠΌΠ°Ρ Π±ΡΡΠΈ Π±ΡΠ»ΡΡΠΈΠΌ Ρ ΠΌΠ΅Π½ΡΠ΅ ΡΠΈ ΠΎΠ΄Π½ΠΎ 2147483647
flags
ΠΠΈΡΠΎΠ²Π°Ρ ΠΌΠ°ΡΠΊΠ° ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°Π½Ρ**JSON_BIGINT_AS_STRING
** JSON_INVALID_UTF8_IGNORE
JSON_INVALID_UTF8_SUBSTITUTE
JSON_OBJECT_AS_ARRAY
JSON_THROW_ON_ERROR
. ΠΠΎΠ²Π΅Π΄ΡΠ½ΠΊΠ° ΡΠΈΡ
ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π½Π° ΡΡΠΎΡΡΠ½ΡΡ JSON-ΠΊΠΎΠ½ΡΡΠ°Π½Ρ
ΠΠ½Π°ΡΠ΅Π½Π½Ρ, ΡΠΎ ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡΡ
ΠΠΎΠ²Π΅ΡΡΠ°Ρ Π΄Π°Π½Ρ json
, ΠΏΠ΅ΡΠ΅ΡΠ²ΠΎΡΠ΅Π½Ρ Π½Π° ΡΠΈΠΏΠΈ PHP. ΠΠ΅ ΡΠΊΠ»Π°Π΄Π΅Π½Ρ Π² Π»Π°ΠΏΠΊΠΈ Π·Π½Π°ΡΠ΅Π½Π½Ρ true
false
ΠΈnull
ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡΡ ΡΠΊ ΡΠΈΠΏΡΠ·ΠΎΠ²Π°Π½Ρ Π·Π½Π°ΡΠ΅Π½Π½Ρ true
**false
** Ρ **null
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΈΠΏΠΎΠΌnull
**ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡjson
Π½Π΅ ΠΌΠΎΠΆΠ΅ Π±ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΠΉ Π°Π±ΠΎ Π³Π»ΠΈΠ±ΠΈΠ½Π° Π²ΠΊΠ»Π°Π΄Π΅Π½ΠΎΡΡΡ ΡΡΡΡΠΊΡΡΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΈΡΡΡ Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΌΠ΅ΠΆΡ.
ΠΠΎΠΌΠΈΠ»ΠΊΠΈ
ΠΠΎΡΠΈΠ½Π°ΡΡΠΈ Π· PHP 8.0.0, ΡΠΊΡΠΎ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° depth
Π²ΠΈΡ
ΠΎΠ΄ΠΈΡΡ Π·Π° ΠΌΠ΅ΠΆΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ Π΄ΡΠ°ΠΏΠ°Π·ΠΎΠ½Ρ, ΡΡΠ½ΠΊΡΡΡ Π²ΠΈΠΊΠΈΠ΄Π°Ρ Π²ΠΈΠ½ΡΡΠΎΠΊ ValueError; ΡΠ°Π½ΡΡΠ΅ Π²ΠΈΠ΄Π°Π²Π°Π»Π°ΡΡ ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° ΡΡΠ²Π½Ρ E_WARNING
ΡΠΏΠΈΡΠΎΠΊ Π·ΠΌΡΠ½
ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡ |
---|---|
7.3.0 | ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°**JSON_THROW_ON_ERROR **Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°flags |
7.2.0 | associative ΡΠ΅ΠΏΠ΅Ρ nullable. |
7.2.0 | ΠΠΎΠ΄Π°Π½Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ **JSON_INVALID_UTF8_IGNORE ** Ρ **JSON_INVALID_UTF8_SUBSTITUTE **Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°flags |
7.1.0 | ΠΠΎΡΠΎΠΆΠ½ΡΠΉ ΠΊΠ»ΡΡ JSON ("") Π±ΡΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΡΠ²ΠΎΡΠ΅Π½ΠΎ Π½Π° ΠΏΠΎΡΠΎΠΆΠ½Ρ Π²Π»Π°ΡΡΠΈΠ²ΡΡΡΡ ΠΎΠ±'ΡΠΊΡΠ°, Π° Π½Π΅ Π½Π° Π²Π»Π°ΡΡΠΈΠ²ΡΡΡΡ Π·Ρ Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌ _empty_ |
ΠΡΠΈΠΊΠ»Π°Π΄ΠΈ
ΠΡΠΈΠΊΠ»Π°Π΄ #1 ΠΡΠΈΠΊΠ»Π°Π΄ΠΈ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ json_decode()
Loading...
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ:
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)
}
ΠΡΠΈΠΊΠ»Π°Π΄ #2 ΠΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π»Π°ΡΡΠΈΠ²ΠΎΡΡΠ΅ΠΉ ΠΎΠ±'ΡΠΊΡΡΠ² ΡΠ· Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΈΠΌΠΈ ΡΠΌΠ΅Π½Π°ΠΌΠΈ
ΠΠΎΡΡΡΠΏ Π΄ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΡΠ² ΠΎΠ±'ΡΠΊΡΠ°, ΡΠΊΡ ΠΌΡΡΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, Π½Π΅ΠΏΡΠΈΠΏΡΡΡΠΈΠΌΡ Π²ΡΠ΄ΠΏΠΎΠ²ΡΠ΄Π½ΠΎ Π΄ΠΎ ΡΠ³ΠΎΠ΄ΠΈ ΠΏΡΠΎ ΡΠΌΠ΅Π½Π° PHP (ΡΠΎΠ±ΡΠΎ Π΄Π΅ΡΡΡ), ΠΌΠΎΠΆΠ΅ Π±ΡΡΠΈ Π²ΠΈΠΊΠΎΠ½Π°Π½ΠΈΠΉ ΡΠ»ΡΡ ΠΎΠΌ ΠΎΠ±ΡΠ°ΠΌΠ»Π΅Π½Π½Ρ ΡΠΌΠ΅Π½Ρ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠ³ΡΡΠ½ΠΈΠΌΠΈ Π΄ΡΠΆΠΊΠ°ΠΌΠΈ ΡΠ° Π°ΠΏΠΎΡΡΡΠΎΡΠ°ΠΌΠΈ.
Loading...
ΠΡΠΈΠΊΠ»Π°Π΄ #3 ΠΠΎΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° ΠΏΡΠ΄ ΡΠ°Ρ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ json_decode()
Loading...
ΠΡΠΈΠΊΠ»Π°Π΄ #4 ΠΠΎΠΌΠΈΠ»ΠΊΠΈ Π· Π³Π»ΠΈΠ±ΠΈΠ½ΠΎΡ Π²ΠΊΠ»Π°Π΄Π΅Π½ΠΈΡ
ΠΎΠ±'ΡΠΊΡΡΠ² (depth
) .
Loading...
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ:
array(1) {
[1]=>
array(2) {
["English"]=>
array(2) {
[0]=>
string(3) "One"
[1]=>
string(7) "January"
}
["French"]=>
array(2) {
[0]=>
string(3) "Une"
[1]=>
string(7) "Janvier"
}
}
}
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°: No error
NULL
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°: Maximum stack depth exceeded
ΠΡΠΈΠΊΠ»Π°Π΄ #5json_decode()** Π· Π²Π΅Π»ΠΈΠΊΠΈΠΌΠΈ ΡΡΠ»ΠΈΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ**
Loading...
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ:
object(stdClass)#1 (1) {
["number"]=>
float(1.2345678901235E+19)
}
object(stdClass)#1 (1) {
["number"]=>
string(20) "12345678901234567890"
}
ΠΡΠΈΠΌΡΡΠΊΠΈ
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π‘ΠΏΠ΅ΡΠΈΡΡΠΊΠ°ΡΡΡ JSON β ΡΠ΅ Π½Π΅ JavaScript, Π° ΠΉΠΎΠ³ΠΎ ΠΏΡΠ΄ΠΌΠ½ΠΎΠΆΠΈΠ½Π°.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π£ ΡΠ°Π·Ρ Π²ΠΈΠ½ΠΈΠΊΠ½Π΅Π½Π½Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Π΄Π΅ΠΊΠΎΠ΄ΡΠ²Π°Π½Π½Ρ ΠΌΠΎΠΆΠ½Π° Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ json_last_error() Π²ΠΈΠ·Π½Π°ΡΠ΅Π½Π½Ρ ΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΈ.
ΠΠΈΠ²ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠΆ
- json_encode() - ΠΠΎΠ²Π΅ΡΡΠ°Ρ JSON-ΠΏΠΎΠ΄Π°Π½Π½Ρ Π΄Π°Π½ΠΈΡ
- json_last_error() - ΠΠΎΠ²Π΅ΡΡΠ°Ρ ΠΎΡΡΠ°Π½Π½Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΡ