>  기사  >  백엔드 개발  >  PHP 직렬화 함수 직렬화와 기본 메소드 비교

PHP 직렬화 함수 직렬화와 기본 메소드 비교

*文
*文원래의
2017-12-28 09:23:261445검색

이 글에서는 주로 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 직렬화 직렬화 객체 메서드 튜토리얼

직렬화 및 역직렬화에 대한 자세한 소개

위 내용은 PHP 직렬화 함수 직렬화와 기본 메소드 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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