Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Какой формат у опций в функция?


Автор: animegirl 30.8.2012, 16:00
Вот в функции "json_encode" есть параметры "JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP", а их можно как-нибудь в вариаблу запихнуть?
Чтоб во первых не захламляли код, и во вторых, если надо что-то изменить, изменения вступали в силу во всём коде разом?

Автор: abs32 30.8.2012, 16:59
Проще простого:

$somevar = JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP;

Автор: animegirl 30.8.2012, 17:30
Ок, спасибо, я удивлена, просто, что без ковычек и прочего, вроде бы как текст а не вариаблa или название функции.

Автор: abs32 30.8.2012, 17:41
Если посмотреть в исходники (json.php), то можно увидеть следущее:

Код

define ('JSON_HEX_TAG', 1);

/**
 * All &s are converted to \u0026.
 * Available since PHP 5.3.0.
 * @link http://php.net/manual/en/json.constants.php
 */
define ('JSON_HEX_AMP', 2);

/**
 * All ' are converted to \u0027.
 * Available since PHP 5.3.0.
 * @link http://php.net/manual/en/json.constants.php
 */
define ('JSON_HEX_APOS', 4);
 

т.е. это не текст, а просто предопределенные числа.

Автор: skyboy 31.8.2012, 03:35
ну, именно так с константами и работается — без кавычек.
http://php.net/constants

Автор: animegirl 31.8.2012, 03:37
abs32, О! То есть, можно ещё и цифрами записывать?

Автор: Sanchezzz 31.8.2012, 06:02
animegirl, если быть точнее то это http://habrahabr.ru/post/134557/ для получениято какихто цифровых
параметров.
Код

$somevar = JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP;
print_r($somevar ); //15

Использовать и документировать именованные константы легче чем просто число смотрящего в код другого человека это может вогнать в ступор))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)