Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Deserialize-Funktionsfehler, sehr seltsam?

PHP-Deserialize-Funktionsfehler, sehr seltsam?

WBOY
WBOYOriginal
2016-09-11 11:34:161320Durchsuche

<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. . .

PHP-Deserialize-Funktionsfehler, sehr seltsam?

Antwortinhalt:

<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. . .

PHP-Deserialize-Funktionsfehler, sehr seltsam?

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn