>백엔드 개발 >PHP 튜토리얼 >serialize() 및 unserialize() 함수에 대한 예제 설명

serialize() 및 unserialize() 함수에 대한 예제 설명

零下一度
零下一度원래의
2017-07-27 16:40:531274검색

오늘 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[&#39;keys&#39;] = &#39;www&#39;; 
$array[&#39;values&#39;]=&#39;11111&#39;; 
$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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