首頁 >後端開發 >php教程 >php unserialize函數出錯,很奇怪?

php unserialize函數出錯,很奇怪?

WBOY
WBOY原創
2016-09-11 11:34:161324瀏覽

<code>$test_str = "code|s:5:\"ZH9JC\";state|s:10:\"wn4rzbnxpp\";";
var_dump(unserialize($test_str));</code>

這是程式碼,簡單的字串,但還是出錯。 。 。

php unserialize函數出錯,很奇怪?

回覆內容:

<code>$test_str = "code|s:5:\"ZH9JC\";state|s:10:\"wn4rzbnxpp\";";
var_dump(unserialize($test_str));</code>

這是程式碼,簡單的字串,但還是出錯。 。 。

php unserialize函數出錯,很奇怪?

序列化的$test_str是數組嗎?明顯不是serialize後的。如果是的話 序列化不是這個樣子的,如下:

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

你這字串不是 標準的序列化的值, unserialize 函數無法辨識你這字元換,就抱錯了

$test_str確定是serialize的結果?

這個不是序列化... 格式都不對

不是序列化的,所以轉不了

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn