Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Deserialize-Funktionsfehler, sehr seltsam?
<code>$test_str = "code|s:5:\"ZH9JC\";state|s:10:\"wn4rzbnxpp\";"; var_dump(unserialize($test_str));</code>
Dies ist der Code, eine einfache Zeichenfolge, aber immer noch ein Fehler. . .
<code>$test_str = "code|s:5:\"ZH9JC\";state|s:10:\"wn4rzbnxpp\";"; var_dump(unserialize($test_str));</code>
Dies ist der Code, eine einfache Zeichenfolge, aber immer noch ein Fehler. . .
Ist der serialisierte $test_str ein Array? Offensichtlich nicht nach der Serialisierung. Wenn ja, ist die Serialisierung nicht wie folgt:
<code>$arr = array( 'code' => 'ZH9JC', 'state' => 'wn4rzbnxpp' ); $str = serialize($arr); dump($str); // string(59) "a:2:{s:4:"code";s:5:"ZH9JC";s:5:"state";s:10:"wn4rzbnxpp";}" $content = unserialize($str); dump($content); // array(2) { ["code"] => string(5) "ZH9JC" ["state"] => string(10) "wn4rzbnxpp" }</code>
Ihre Zeichenfolge ist kein standardmäßiger serialisierter Wert. Die Unserialize-Funktion kann Ihre Zeichenersetzung nicht erkennen, daher ist sie falsch
Ist $test_str definitiv das Ergebnis von serialize?
Dies ist keine Serialisierung ... das Format ist falsch
Es ist nicht serialisiert und kann daher nicht übertragen werden