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

PHP 직렬화 함수와 기본 직렬화 함수 비교

墨辰丷
墨辰丷원래의
2018-06-11 10:09:562140검색

이 글에서는 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는 기본 데이터베이스 연결, SQL 문 실행 및 오류 프롬프트를 구현합니다.

php 일반 일치 및 배열 탐색

php 데이터베이스 쿼리 및 비밀번호 일치 기능

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

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