PHP.mk документација

simdjson_decode

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.simdjson-decode.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.simdjson-decode.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
simdjson_decode

Референца за `function.simdjson-decode.php` со подобрена типографија и навигација.

function.simdjson-decode.php

simdjson_decode

(PECL simdjson >= 2.0.0)

simdjson_decodeДекодира JSON стринг

= NULL

simdjson_decode(string $json, bool $associative = false, int $depth = 512): mixed

Takes a JSON encoded string and converts it into a PHP value. This uses a faster Simultaneous Instruction, Multiple Data implementation than json_decode() Зема JSON кодиран стринг и го претвора во PHP вредност. Ова користи побрза имплементација на истовремени инструкции, повеќе податоци отколку

Параметри

json
На json string се декодира. Оваа функција работи само со UTF-8 кодирани стрингови. се прашува и декодира. json_decode() Оваа функција парсира валидни влезови кои
associative
Кога true, JSON објектите ќе бидат вратени како асоцијативни array; кога false, JSON објектите ќе бидат вратени како objects.
depth
Максимална длабочина на вгнездување на структурата што се декодира. Вредноста мора да биде поголема од 0, и помала или еднаква на 2147483647JSON локацијата json_decode() implementation.

Вратени вредности

Ја враќа вредноста кодирана во json кога е поддржано од компјутерската архитектура. true, false and null се враќаат како true, false and null respectively.

Errors/Exceptions

Враќа json во соодветен PHP тип. Вредности SimdJsonException не можеше да се најде во RuntimeException беше фрлен.

Враќа depth е надвор од дозволениот опсег, а SimdJsonValueError се фрла од PECL simdjson 2.1.0, додека претходно, грешка од ниво E_WARNING беше кренат.

Примери

Пример #1 simdjson_decode() examples

<?php
$json
= '{"a":1,"b":2,"c":3}';

var_dump(simdjson_decode($json));
var_dump(simdjson_decode($json, true));

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

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

Пример #2 Пристап до невалидни ставки на објектот

Пристапот до елементи во објект што содржат знаци што не се дозволени според конвенцијата за именување на PHP (на пр. цртичка) може да се постигне со ставање на името на елементот во загради и апостроф.

<?php

$json
= '{"foo-bar": 12345}';

$obj = simdjson_decode($json);
print
$obj->{'foo-bar'}; // 12345

?>

Пример #3 Вообичаени грешки при користење simdjson_decode()

<?php

// the following strings are valid JavaScript but not valid JSON

// the name and value must be enclosed in double quotes
// single quotes are not valid
$bad_json = "{ 'bar': 'baz' }";
simdjson_decode($bad_json); // Throws SimdJsonException

// the name must be enclosed in double quotes
$bad_json = '{ bar: "baz" }';
simdjson_decode($bad_json); // Throws SimdJsonException

// trailing commas are not allowed
$bad_json = '{ bar: "baz", }';
simdjson_decode($bad_json); // Throws SimdJsonException

?>

Пример #4 depth errors

<?php
// Encode some data with a maximum depth of 4
// (array -> array -> array -> string)
$json = json_encode(
[
1 => [
'English' => [
'One',
'January'
],
'French' => [
'Une',
'Janvier'
]
]
]
);

// Show the errors for different depths.
var_dump(simdjson_decode($json, true, 4));
try {
var_dump(simdjson_decode($json, true, 3));
} catch (
SimdJsonException $e) {
echo
"Caught: ", $e->getMessage(), "\n";
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

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"
    }
  }
}
Caught: The JSON document was too deep (too many nested objects and arrays)

Генератор simdjson_decode() на големи цели броеви

<?php
$json
= '{"number": 12345678901234567890}';

var_dump(simdjson_decode($json));

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

object(stdClass)#1 (1) {
  ["number"]=>
  float(1.2345678901235E+19)
}

Белешки

Забелешка: JSON спецификацијата не е JavaScript, туку подмножество на JavaScript.

Забелешка: е невалиден, а SimdJsonException Во случај на неуспех при декодирање, а се фрла и and SimdJsonException::getCode() може да се користи за да се утврди точната природа на грешката.

Види Исто така

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.