>백엔드 개발 >PHP 튜토리얼 >PHP 직렬화 해제 함수 오류, 매우 이상합니까?

PHP 직렬화 해제 함수 오류, 매우 이상합니까?

WBOY
WBOY원래의
2016-09-11 11:34:161319검색

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

간단한 문자열이지만 여전히 오류가 발생하는 코드입니다. . .

PHP 직렬화 해제 함수 오류, 매우 이상합니까?

답글 내용:

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

간단한 문자열이지만 여전히 오류가 발생하는 코드입니다. . .

PHP 직렬화 해제 함수 오류, 매우 이상합니까?

직렬화된 $test_str은 배열인가요? 분명히 직렬화 이후에는 아닙니다. 그렇다면 직렬화는 이렇지 않습니다.

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

귀하의 문자열은 표준 직렬화 값이 아닙니다. 직렬화 해제 함수는 문자 대체를 인식할 수 없으므로 잘못되었습니다.

$test_str은 확실히 직렬화의 결과인가요?

연재가 아닙니다...형식이 잘못되었습니다

연재되지 않아 양도할 수 없습니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.