이 글은 주로 PHP에서 데이터를 직렬화하고 역직렬화하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
php는 실제로 데이터를 직렬화 및 역직렬화하기 위해 serialize 및 unserialize라는 두 가지 함수를 사용합니다.
serialize 배열을 정렬된 문자열로 형식 지정
unserialize 배열을 배열로 복원
예:
$user=array('Moe','Larry','Curly'); $user=serialize($stooges); echo '<pre class="brush:php;toolbar:false">'; print_r($user); echo '<br />'; print_r(unserialize($user));
결과:
a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";} Array ( [0] => Moe [1] => Larry [2] => Curly )
배열 값에 큰따옴표 등이 포함된 경우에 주의하세요. 및 작은따옴표, 콜론 또는 중국어 문자, 잘못된 문자 또는 서식이 역직렬화된 후에 발생할 수 있습니다.
깨진 문자 문제를 해결하려면 base64_encode 및 base64_decode 두 가지 기능을 사용할 수 있습니다.
예:
$user=array('Moe','Larry','Curly'); $user=base64_encode(serialize($user)); $user=unserialize(base64_decode($user));
이렇게 하면 코드 문제가 발생하지 않지만 base64 인코딩을 사용하면 저장된 문자열의 길이가 늘어납니다.
위에서 우리는 우리의 직렬화 및 역직렬화 기능을 다음과 같이 요약할 수 있습니다.
function my_serialize($obj_array){ return base64_encode(gzcompress(serialize($obj_array))); } //反序列化 function my_unserialize($str){ return unserialize(gzuncompress(base64_decode($str))); }
요약: 위 내용은 이 기사의 전체 내용입니다. 모든 사람의 연구에 도움이 되기를 바랍니다.
관련 권장 사항:
템플릿 변수의 PHP 템플릿 엔진 Smarty 구성 파일의 사용법 및 예에 대한 자세한 설명
mssql json 데이터를 읽는 PHP의 중국어 중국어 깨진 문자에 대한 솔루션 정보
In PHP 템플릿 엔진 Smarty 사용법 및 보유변수 예시 분석
위 내용은 PHP에서 데이터를 직렬화 및 역직렬화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!