이 글에서는 주로 PHP 직렬화 함수 serialize() 및 unserialize()를 PHP 기본 직렬화 방법과 비교하는 방법을 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다.
PHP에는 문자열 형식을 지정하고 이를 배열이나 객체로 변환하는 좋은 방법, 즉 직렬화가 있습니다.
변수를 직렬화하는 방법에는 두 가지가 있습니다.
serialize() 및 unserialize() 함수를 사용하는 다음 예:
// a complex array $myvar = array( 'hello', 42, array(1,'two'), 'apple' ); // convert to a string $string = serialize($myvar); echo $string; /* prints a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";} */ // you can reproduce the original variable $newvar = unserialize($string); print_r($newvar); /* prints Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple ) */
이것은 기본 PHP 직렬화 방법입니다.
그러나 최근 몇 년간 JSON의 인기로 인해 PHP5.2에는 JSON 형식에 대한 지원이 추가되었습니다.
이제 json_encode() 및 json_decode() 함수를 사용할 수 있습니다.
// a complex array $myvar = array( 'hello', 42, array(1,'two'), 'apple' ); // convert to a string $string = json_encode($myvar); echo $string; /* prints ["hello",42,[1,"two"],"apple"] */ // you can reproduce the original variable $newvar = json_decode($string); print_r($newvar); /* prints Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple ) */
이는 더욱 효율적이며 특히 JavaScript와 같은 다른 많은 언어와 호환됩니다.
참고: 복잡한 개체의 경우 일부 정보가 손실될 수 있습니다.
관련 권장사항:
위 내용은 PHP 직렬화 함수 직렬화와 기본 메소드 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!