일부 구성 파일은 유사한 변수 이름과 값을 형식으로 저장하는 경우가 많습니다. 실제로 이러한 데이터베이스를 사용해야 하는 경우 직렬화 프로세스입니다. 🎜> 프로세스가 수행됩니다. 🎜>역직렬화 프로세스는 이 문자열을 원래 데이터 구조로 복원하는 것입니다. php가 데이터를 직렬화하고 역직렬화하는 방법에 대해 이야기해 보겠습니다.
PHP는 실제로 데이터를 직렬화 및 역직렬화하기 위해
직렬화 및 직렬화 해제라는 두 가지 함수를 사용합니다.
직렬화 배열을 순서가 지정된 문자열로 형식 지정
직렬화 해제 배열을 배열로 직렬화 해제
예:
$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가 데이터를 직렬화 및 역직렬화하는 방법과 역직렬화를 겪은 후 문자 왜곡이나 서식이 중단되는 이유와 해결 방법을 소개하는 것이 모든 사람의 연구에 도움이 되기를 바랍니다.