wp_json_encode()
Кодирует переданную переменную в JSON формат. Проверяет строки и переводит их в UTF-8.
Передаваемая переменная может содержать любой тип данных: массив, строку, объект, число и т.д.
Работает на основе PHP функции json_encode().
Основа для: wp_send_json()
1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.09 сек (скорость света) | PHP 7.2.5, WP 4.9.8
Хуков нет.
Возвращает
Строку|false
. Логическое/строку: строку JSON или false если не удалось получить строку.
Использование
wp_json_encode( $data, $options, $depth );
- $data(смешанный) (обязательный)
- Переменная содержащая данные, которые нужно превратить в JSON строку.
- $options(число)
Опции, которые будут переданы в функцию PHP json_encode().
Константы объединяемые через
|
(битовая маска):JSON_HEX_QUOT JSON_HEX_TAG JSON_HEX_AMP JSON_HEX_APOS JSON_NUMERIC_CHECK JSON_PRETTY_PRINT JSON_UNESCAPED_SLASHES JSON_FORCE_OBJECT JSON_PRESERVE_ZERO_FRACTION JSON_UNESCAPED_UNICODE JSON_PARTIAL_OUTPUT_ON_ERROR
Значение каждой константы объясняется на странице JSON констант.
По умолчанию: 0
- $depth(число)
- Максимальная глубина до которой будет обрабатываться $data. Должна быть больше 0.
По умолчанию: 512
Примеры
#1 Демонстрация работы wp_json_encode()
wp_json_encode( 'one' ); // "one" wp_json_encode( 2 ); // 2 wp_json_encode( array( 1, 'two' ) ); // [1,"two"] wp_json_encode( (object) array( 1, 'two' ) ); // {"0":1,"1":"two"}
Список изменений
С версии 4.1.0 | Введена. |
С версии 5.3.0 | No longer handles support for PHP < 5.6. |
Код wp_json_encode() wp json encode WP 6.3.1
function wp_json_encode( $data, $options = 0, $depth = 512 ) { $json = json_encode( $data, $options, $depth ); // If json_encode() was successful, no need to do more sanity checking. if ( false !== $json ) { return $json; } try { $data = _wp_json_sanity_check( $data, $depth ); } catch ( Exception $e ) { return false; } return json_encode( $data, $options, $depth ); }