Files
php-doc-ru/reference/json/constants.xml
Alexey Pyltsyn f5d84e6737 Upd
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@345762 c90b9560-bf6c-de11-be94-00142212c4b1
2018-10-01 20:41:36 +00:00

394 lines
13 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c0693bf1fcfdad1306e2c40f9d763bd4eb53099d Maintainer: irker Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<appendix xml:id="json.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&extension.constants;
<para>
Следующие константы указывают на тип ошибки, возвращенной функцией
<function>json_last_error</function>.
</para>
<variablelist>
<varlistentry xml:id="constant.json-error-none">
<term>
<constant>JSON_ERROR_NONE</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Не произошло никаких ошибок.
Доступна начиная с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-depth">
<term>
<constant>JSON_ERROR_DEPTH</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Была превышена максимальная глубина стека.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-state-mismatch">
<term>
<constant>JSON_ERROR_STATE_MISMATCH</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Неверный или поврежденный JSON.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-ctrl-char">
<term>
<constant>JSON_ERROR_CTRL_CHAR</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Ошибка управляющих символов, вероятно, из-за неверного кодирования.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-syntax">
<term>
<constant>JSON_ERROR_SYNTAX</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Синтаксическая ошибка.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-utf8">
<term>
<constant>JSON_ERROR_UTF8</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Поврежденные символы UTF-8, вероятно, из-за неверного кодирования.
Доступно с PHP 5.3.3.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-recursion">
<term>
<constant>JSON_ERROR_RECURSION</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Объект или массив, переданный в функцию <function>json_encode</function> включает
рекурсивные ссылки и не может быть закодирован.
Если была передана опция <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>, то
на месте рекурсивных ссылок будет выведен &null;.
Доступно с PHP 5.5.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-inf-or-nan">
<term>
<constant>JSON_ERROR_INF_OR_NAN</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Значение, переданное в функцию <function>json_encode</function>, включает либо
<link linkend="language.types.float.nan"><constant>NAN</constant></link>,
либо <link linkend="function.is-infinite"><constant>INF</constant></link>.
Если была указана константа <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>,
то вместо указанных особых значений будет выведен <literal>0</literal>.
Доступно с PHP 5.5.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-unsupported-type">
<term>
<constant>JSON_ERROR_UNSUPPORTED_TYPE</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
В функцию <function>json_encode</function> было передано значение
неподдерживаемого типа, например, <type>resource</type>.
Если была указана константа <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>,
то вместо неподдерживаемого значения будет выводиться &null;.
Доступно с PHP 5.5.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-invalid-property-name">
<term>
<constant>JSON_ERROR_INVALID_PROPERTY_NAME</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
В строке переданной в <function>json_decode</function> был ключ, начинающийся с
символа \u0000.
Доступно с PHP 7.0.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-utf16">
<term>
<constant>JSON_ERROR_UTF16</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Один непарный суррогат UTF-16 в экранированной последовательности Unicode в
строке JSON, переданной в <function>json_encode</function>.
Доступно с PHP 7.0.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<para>
Можно комбинировать следующие константы для передачи в
<function>json_decode</function>.
</para>
<variablelist>
<varlistentry xml:id="constant.json-bigint-as-string">
<term>
<constant>JSON_BIGINT_AS_STRING</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Декодирует большие целые числа в качестве исходного значения строки.
Доступно с PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-object-as-array">
<term>
<constant>JSON_OBJECT_AS_ARRAY</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Преобразует объекты JSON в массив PHP. Эта опция может быть задана автоматически,
если вызвать <function>json_decode</function> указав вторым параметром &true;.
Доступно с PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<para>
Следующие константы можно комбинировать для использования в
<function>json_encode</function>.
</para>
<variablelist>
<varlistentry xml:id="constant.json-hex-tag">
<term>
<constant>JSON_HEX_TAG</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Все &lt; и &gt; кодируются в \u003C и \u003E.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-hex-amp">
<term>
<constant>JSON_HEX_AMP</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Все &amp; кодируются в \u0026.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-hex-apos">
<term>
<constant>JSON_HEX_APOS</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Все символы ' кодируются в \u0027.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-hex-quot">
<term>
<constant>JSON_HEX_QUOT</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Все символы " кодируются в \u0022.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-force-object">
<term>
<constant>JSON_FORCE_OBJECT</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Выдавать объект вместо массива при использовании неассоциативного
массива. Это полезно, когда принимающая программа или код ожидают
объект, а массив пуст.
Доступно с PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-numeric-check">
<term>
<constant>JSON_NUMERIC_CHECK</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Кодирование строк, содержащих числа, как
числа. Доступно с PHP 5.3.3.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-pretty-print">
<term>
<constant>JSON_PRETTY_PRINT</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Использовать пробельные символы в возвращаемых данных
для их форматирования. Доступно с PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-unescaped-slashes">
<term>
<constant>JSON_UNESCAPED_SLASHES</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Не экранировать <literal>/</literal>.
Доступно с PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-unescaped-unicode">
<term>
<constant>JSON_UNESCAPED_UNICODE</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Не кодировать многобайтовые символы Unicode (по умолчанию они кодируются как \uXXXX).
Доступно с PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-partial-output-on-error">
<term>
<constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Позволяет избежать возникновения ошибок при использовании функции
json_encode. Осуществляет подстановку значений
по умолчанию вместо некодируемых.
Доступно с PHP 5.5.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-preserve-zero-fraction">
<term>
<constant>JSON_PRESERVE_ZERO_FRACTION</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Гарантирует, что значение типа <type>float</type> будет преобразовано
именно в значение типа float в случае, если дробная часть равна 0.
Доступно с PHP 5.6.6.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-unescaped-line-terminators">
<term>
<constant>JSON_UNESCAPED_LINE_TERMINATORS</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Символы конца строки не будут экранироваться, если задана константа
<constant>JSON_UNESCAPED_UNICODE</constant>. Поведение будет таким же,
какое оно было до PHP 7.1 без этой константы.
Доступно с PHP 7.1.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<para>
Следующие константы можно комбинировать для использования в
<function>json_encode</function>.
</para>
<variablelist>
<varlistentry xml:id="constant.json-throw-on-error">
<term>
<constant>JSON_THROW_ON_ERROR</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
Выбрасывается исключение <classname>JsonException</classname> в случае возникновения ошибок вместо
установки глобального состояния ошибки, которое может быть получено с помощью функции
<function>json_last_error</function>.
Константа <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> имеет приоритет над
<constant>JSON_THROW_ON_ERROR</constant>. Доступно с PHP 7.3.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->