Und die Antwort kommt in Form einer kleinen Funktion. is_serialized() versucht einen String zu deserialisieren und gibt true bzw. false zurück. Um die notices, die unserialize() im Fehlerfall gibt, zu verhindern, wird das Error-Reporting deaktiviert und anschließend wieder auf die Ursprungseinstellung zurück gesetzt.
function is_serialized($mSample) {
if (!is_string($mSample)) {
return false;
}
$iErrorReporting = error_reporting();
error_reporting(0);
$mTemp = unserialize($mSample);
error_reporting($iErrorReporting);
return (false === $mTemp ? false : true);
}