PHP 7.0.0 RC 1 Released

Constante predefinite

Constantele de mai jos sunt definite de această extensie și vor fi disponibile doar dacă această extensie a fost compilată în interiorul PHP, sau a fost încărcată dinamic în timpul rulării.

Următoarele constante indică tipul erorii întoarse de funcția json_last_error().

JSON_ERROR_NONE (integer)
Nu s-a produs vre-o eroare. Disponibilă începând cu PHP 5.3.0.
JSON_ERROR_DEPTH (integer)
A fost depășită adâncimea maximă a stivei. Disponibilă începând cu PHP 5.3.0.
JSON_ERROR_STATE_MISMATCH (integer)
Are loc în cazul unei valori ce depășește limita de jos, sau când modurile nu coincid. Disponibilă începând cu PHP 5.3.0.
JSON_ERROR_CTRL_CHAR (integer)
Eroare în caracterul de control, posibil a fost codificat greșit. Disponibilă începând cu PHP 5.3.0.
JSON_ERROR_SYNTAX (integer)
Eroare în sintaxă. Disponibilă începând cu PHP 5.3.0.
JSON_ERROR_UTF8 (integer)
Caractere UTF-8 eronate, posibil codificate incorect. Această constantă este disponibilă începând cu PHP 5.3.3.
JSON_ERROR_RECURSION (integer)

Obiectul sau tabloul transmis funcției json_encode() include referințe recursive și de aceea nu pot fi codificate. Dacă a fost indicată opțiunea JSON_PARTIAL_OUTPUT_ON_ERROR, în locul referințelor recursive va fi codificat NULL.

Această constantă e disponibilă începând cu PHP 5.5.0.

JSON_ERROR_INF_OR_NAN (integer)

Valoarea transmisă funcției json_encode() include NAN sau INF. Dacă a fost indicată opțiunea JSON_PARTIAL_OUTPUT_ON_ERROR, în locul acestor numere speciale va fi codificat 0.

Această constantă e disponivilă începând cu PHP 5.5.0.

JSON_ERROR_UNSUPPORTED_TYPE (integer)

O valoare de tip nesusținut a fost transmisă funcției json_encode(), cum ar fi o resource. Dacă a fost indicată opțiunea JSON_PARTIAL_OUTPUT_ON_ERROR, în locul valorii nesusținute va fi codificat NULL.

Această constantă e disponivilă începând cu PHP 5.5.0.

Următoarele constante pot fi combinate pentru a forma opțiuni pentru json_encode().

JSON_HEX_TAG (integer)
Toate < și > sunt convertite în \u003C și \u003E. Disponibilă începând cu PHP 5.3.0.
JSON_HEX_AMP (integer)
Toate & sunt convertite în \u0026. Disponibilă începând cu PHP 5.3.0.
JSON_HEX_APOS (integer)
Toate ' sunt convertite în \u0027. Disponibilă începând cu PHP 5.3.0.
JSON_HEX_QUOT (integer)
Toate " sunt convertite în \u0022. Disponibilă începând cu PHP 5.3.0.
JSON_FORCE_OBJECT (integer)
Întoarce un obiect în loc de tablou când este utilizat un tablou non-associativ. Util în special când receptorul rezultatului se așteaptă la un obiect, iar tabloul este vid. Disponibilă începând cu PHP 5.3.0.
JSON_NUMERIC_CHECK (integer)
Codifică șiruri numerice ca numere. Disponibilă începând cu PHP 5.3.3.
JSON_BIGINT_AS_STRING (integer)
Codifică numerele întregi mari ca șiruri de caractere la valoarea lor originală. Disponibilă începând cu PHP 5.4.0.
JSON_PRETTY_PRINT (integer)
Folosește spații în datele întoarse pentru a le formata. Disponibilă începând cu PHP 5.4.0.
JSON_UNESCAPED_SLASHES (integer)
Nu evadează caracterele /. Disponibilă începând cu PHP 5.4.0.
JSON_UNESCAPED_UNICODE (integer)
Codifică caracterele Unicode pe mai mulți baiți așa cum sunt (implicit se efectuează evadarea de tip \uXXXX). Disponibilă începând cu PHP 5.4.0.
JSON_PARTIAL_OUTPUT_ON_ERROR (integer)
Substituie unele valori ce nu pot fi codificate, în loc să eșueze. Disponibilă începând cu PHP 5.5.0.
JSON_PRESERVE_ZERO_FRACTION (integer)
Asigură ca valorile float să fie întotdeauna codificate ca valori float. Disponibilă începând cu PHP 5.6.6.
add a note add a note

User Contributed Notes 4 notes

up
28
Yzmir Ramirez
11 months ago
If you curious of the numeric values of the constants, as of JSON 1.2.1, the constants have the following values (not that you should use the numbers directly):

JSON_HEX_TAG => 1
JSON_HEX_AMP => 2
JSON_HEX_APOS => 4
JSON_HEX_QUOT => 8
JSON_FORCE_OBJECT => 16
JSON_NUMERIC_CHECK => 32
JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256

JSON_ERROR_DEPTH => 1
JSON_ERROR_STATE_MISMATCH => 2
JSON_ERROR_CTRL_CHAR => 3

JSON_ERROR_SYNTAX => 4

JSON_ERROR_UTF8 => 5
JSON_OBJECT_AS_ARRAY => 1

JSON_BIGINT_AS_STRING => 2
up
4
on5wis at mac dot com
4 months ago
since json_encode expects a UTF-8 string there is no need to encode the € symbol.

I suggest you try to echo : json_encode('€');
It gives: "\u20ac"
I'm running PHP 5.6.5 on the CLI, on MacOS X 10.10
up
-8
Anonymous
2 months ago
I am working with "Marathi Language Data" and I found that when I encoded Marathi data to json using json_encode it returned me unicode values of each character like below:

Program :

<?php
$ar
= array("word" => "धाडस");
echo
json_encode($ar);
?>

Output of program is :

{"word":"\u0927\u093e\u0921\u0938"}

This is not expected output because what I need is output as

{"word":"धाडस"}

So I used following code:

<?php
$ar
= array("word" => "धाडस");
echo
json_encode($ar, JSON_UNESCAPED_UNICODE);
?>

And I got the required output as :

{"word":"धाडस"}
up
-15
jgarviahonrado at yahoo dot es
4 months ago
When decoding the euro symbol (€) as below:

json_encode(utf8_encode('€')

json_encode provides the UTF-8 code \u0080, but it would be really interesting to get the \u20AC one.

Maybe a new option could be added to get the current code or the \u20AC one.
To Top