maybe_serialize( string|array|object $data ): mixed
Serializes data, if needed.
Contents
Parameters
-
$data
string|array|object Required -
Data that might be serialized.
Return
mixed A scalar data.
More Information
- Data might need to be serialized to allow it to be successfully stored and retrieved from a database in a form that PHP can understand.
- Confusingly, strings that contain already serialized values are serialized again, resulting in a nested serialization. Other strings are unmodified.
- A possible solution to prevent nested serialization is to check if a variable is serialized using is_serialized()
if( !is_serialized( $data ) ) { $data = maybe_serialize($data); }
Source
File: wp-includes/functions.php
.
View all references
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;
}
Changelog
Version | Description |
---|---|
2.0.5 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Basic Examples