WordPress как на ладони
wordpress jino

maybe_serialize() WP 2.0.5

Сериализует переданные данные, если нужно.

Эту функцию принято использовать в WordPress, когда точно не известно, структурированные ли данные передаются. Если вы точно знаете, что передаются структурированные данные, то используйте стандартную php функцию serialize().

Сериализованная строка будет сериализована повторно.

$data = 'a:2:{i:1;s:12:"Hello World!";s:3:"foo";s:3:"bar";}';
echo maybe_serialize( $data );
// s:50:"a:2:{i:1;s:12:"Hello World!";s:3:"foo";s:3:"bar";}";

Противоположные аналог этой функции maybe_unserialize() - десериализует переданное значение, если нужно.

Работает на раннем этапе загрузки WordPress, еще до константы SHORTINIT.

Хуков нет.

Возвращает

Строку. Сериализованные данные.

Использование

maybe_serialize( $data );
$data(строка/массив/объект) (обязательный)
Значение, которое нужно проверить и сериализовать в случае необходимости.

Примеры

#1 Пример, что делает функцию с разными значениями

// Строка вернется нетронутой.
$data = 'Привет мир!';
echo maybe_serialize( $data );
// Привет мир!

// Числа (в том числе float), логические true/false/null, вернется нетронутыми.
$data = 55;
echo maybe_serialize( $data );
// 55

$data = 4.560
echo maybe_serialize( $data );
// 4.560

$data = true;
$data = maybe_serialize( $data );
// $data = true;

$data = null;
$data = maybe_serialize( $data );
// $data = null

// Массив или объект вернется сериализованной строкой.
$data = array( 1 => 'Привет мир!', 'foo' => 'bar' );
echo maybe_serialize( $data );
// a:2:{i:1;s:12:"Привет мир!";s:3:"foo";s:3:"bar";}

// Сериализованная строка будет сериализована повторно.
$data = 'a:2:{i:1;s:12:"Hello World!";s:3:"foo";s:3:"bar";}';
echo maybe_serialize( $data );
// s:50:"a:2:{i:1;s:12:"Hello World!";s:3:"foo";s:3:"bar";}";

Код maybe serialize: wp-includes/functions.php VER 4.9.1

<?php
function maybe_serialize( $data ) {
	if ( is_array( $data ) || is_object( $data ) )
		return serialize( $data );

	// Double serialization is required for backward compatibility.
	// See https://core.trac.wordpress.org/ticket/12930
	// Also the world will end. See WP 3.6.1.
	if ( is_serialized( $data, false ) )
		return serialize( $data );

	return $data;
}

Cвязанные функции

Из метки: serialize (сериализация)

Еще из раздела: Вспомогательные

Http://brandshop.ru/

http://brandshop.ru/ зимние кроссовки nike air max с мехом мужские.

brandshop.ru

maybe_serialize Комментариев нет

Здравствуйте, !

Ваш комментарий