직렬화는 배열 등을 배열로 저장할 수도 있습니다. 또한 이메일을 주고받는 데에도 사용할 수 있습니다. 이 글에서는 PHP 직렬화의 내용을 소개하겠습니다.
데이터베이스에 배열을 저장할 때 일반적으로 어떤 일이 발생하나요?
다음 배열을 데이터베이스에 등록해 보세요.
["student1", "student2", "student3"]
그런 다음 다시 가져오십시오.
'Array("student1", "student2", "student3")'
우리가 얻는 것은 문자열입니다. 직렬화 없이 데이터베이스에 등록한 후 다시 검색하면 문자열이 됩니다.
foreach 문을 사용하여 이 문자열을 얻는 것은 불가능합니다.
배열은 데이터베이스에 배열로 등록한 후 직렬화를 사용해야 합니다.
직렬화를사용하자
직렬화하려면 직렬화 함수를 사용해야 합니다
또한 결과는 직렬화할 데이터 유형에 따라 달라집니다.
직렬화된 배열
실행 결과는
a:3:{i:0;s:8:"student1";i:1;s:8:"student2";i:2;s:8:"student3";}초기 [a:3] 부분이 [type:value]로 표시되어 있으니 참고하세요.
은 배열 유형이 a임을 나타냅니다.
또한 후속 디스플레이는 [key; value;]로 표시되는 배열 데이터 부분입니다.
직렬화된 정수
<?php $test = 50; $disp = serialize($test); echo $disp;결과는
i:50;직렬화된 문자열
<?php $test = 'student'; $disp = serialize($test); echo $disp;결과는
입니다.s:7:"student";문자열 유형이 s임을 나타냅니다.
문자열의 경우 숫자도 있지만 이는 문자 수를 나타냅니다.
직렬화가 쉽습니다.
그런 다음 직렬화된 데이터를 보내거나 데이터베이스에 저장하세요.
직렬화 해제로 역직렬화
직렬화된 데이터를 사용하려면 그대로 사용할 수 없습니다.
원래 유형과 구조를 복원하려면 직렬화 해제를 사용해야 합니다.
배열 역직렬화
"; echo print_r(unserialize($disp));직렬화된 $disp는 명확성을 위해 개행 문자 세트(df250b2156c434f3390392d09b1c9563)와 함께 표시됩니다.
또한 $disp가 역직렬화되어 표시됩니다.
print_r은 배열의 내용을 표시하는 데 사용됩니다.
결과는
a:3:{i:0;s:8:"student1";i:1;s:8:"student2";i:2;s:8:"student3";} Array ( [0] => student1 [1] => student2 [2] => student3 )1첫 번째 줄은 직렬화 결과이고, 두 번째 줄은 역직렬화 결과입니다.
정수를 역직렬화하면
<?php $test = 50; $disp = serialize($test); echo $disp; echo "
"; echo unserialize($disp);결과는
i:50; 50문자열을 역직렬화하면
<?php $test = 'student'; $disp = serialize($test); echo $disp; echo "
"; echo unserialize($disp);결과는
s:7:"student"; student직렬화된 데이터를 복구하는 것은 쉽습니다.
위 내용은 PHP 직렬화 사용법 요약(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!