오늘 class.quickskin.PHP 코드를 보다가 이전에 본 적이 없는 함수 직렬화를 보았습니다. Master와 Xiaobai 모두 이에 대해 문의했지만 결과적으로는 알 수 없었습니다. 로컬에서 테스트해 보시는 게 더 나을 텐데, 또 한번 어리둥절해졌습니다. . . .
사실 이런 종류의 문제는 매우 간단하고 스스로 해결할 수 있는 경우가 많습니다. 우리는 너무 게으른 경우가 많습니다. . . .
언어로 프로그램을 설명하는 것은 어려운 경우가 많습니다. 특히 저와 같은 초보자에게는 코드만 보는 것이 더 쉬운 경우가 많습니다.
PHP5 매뉴얼의 설명은 언뜻 보면 다소 헷갈리게 느껴지지만, 테스트 후 다시 읽어보면 더 명확해집니다.
간단히 말하면 serialize($param)은 $param의 값을 직렬화하는 것입니다. UCHOME 데이터베이스의 일부 필드가 이러한 데이터에 저장되어 있는 것 같습니다(a:1:{s:7:"apppath";s:0 : "";}) 및 unserialize($param)는 직렬화의 반대 작업과 유사하며 직렬화된 값을 해당 문자열로 변환합니다. 이 변환은 숫자 변수 및 문자열 변수에 대해 가능하지만 각각 배열 및 객체 인스턴스에 대해 " 배열" 및 "Catchable 치명적인 오류: Object 클래스의 개체를 문자열로 변환할 수 없습니다." 오류 메시지.
serialize()는 리소스 유형을 제외한 모든 유형을 처리할 수 있으며 객체
<?php $array = array(); $array['keys'] = 'www'; $array['values']='11111'; $a = serialize($array); echo $a; unset($array); $a = unserialize($a); print_r($a); ?>
output
a:2:{s:4:"keys";s:3:"www";s:6 :"을 직렬화할 수도 있습니다. 값";s:5:"11111";}
Array ( [keys] => www [values] => 11111 )
클래스에도 동일하게 적용됩니다
위 내용은 serialize() 및 unserialize() 함수에 대한 예제 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!