maybe_serialize

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

Эту функцию принято использовать в 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 Пример, что делает функцию с разными значениями

<?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;
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *