대부분의 경우 복잡한 배열을 데이터베이스나 PHP 파일에 저장해야 합니다. 어떤 사람들은 이 작업을 수행하기 위해 PHP 내장 함수를 사용할 수 있습니다. 복합 배열은 여러 데이터 유형 또는 배열의 요소를 포함하는 배열입니다.
하지만 우리는 이미 이러한 상황을 처리할 수 있는 편리한 솔루션을 가지고 있습니다. 복잡한 배열을 형식화된 문자열로 변환하기 위해 자체 함수를 작성할 필요가 없습니다. 변수 직렬화에는 널리 사용되는 두 가지 방법이 있습니다. (권장: PHP 튜토리얼)
1, serialize()
2, unserialize()
serialize() 함수를 사용하여 PHP의 모든 데이터를 직렬화할 수 있습니다. serialize() 함수는 분류하려는 데이터인 매개변수를 받아들이고 직렬화된 문자열을 반환합니다.
프로그램은 다음과 같습니다:
<?php //一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 转换成字符串 $string = serialize($myvar); // 打印序列化的数据 echo $string; ?>
출력:
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";}
위 코드에서 직렬화된 데이터가 있는 변수 $string을 얻습니다. unserialize() 함수를 사용하면 변수 값을 역직렬화하여 복잡한 배열 $myvar의 원래 값을 반환할 수 있습니다.
serialize() 및 unserialize() 함수 예:
<?php // 一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 序列化上述数据 $string = serialize($myvar); // 反序列化$string中的数据 $newvar = unserialize($string); // 打印未序列化的数据 print_r($newvar); ?>
출력:
Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple )
이것은 기본 PHP 직렬화 방법입니다. 그러나 최근 몇 년 동안 JSON이 인기를 얻었기 때문에 PHP 5.2에 JSON 지원을 추가하기로 결정했습니다. 이제 json_encode() 및 json_decode() 함수를 각각 사용하여 PHP에서 데이터를 직렬화 및 역직렬화할 수 있습니다.
JSON 형식은 텍스트 전용이므로 서버와 쉽게 주고받을 수 있으며 모든 프로그래밍 언어에서 데이터 형식으로 사용할 수 있습니다.
PHP에서 json_encode()를 사용하는 방법을 살펴보겠습니다.
<?php // 一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 序列化数据 $string = json_encode($myvar); // 打印序列化的数据 echo $string; ?>
출력:
["hello",42,[1,"two"],"apple"]
json_decode() 함수를 사용하여 위 프로그램에 인코딩된 데이터를 디코딩하여 원래의 복잡한 배열을 얻을 수 있습니다.
프로그램은 다음과 같습니다:
<?php // 一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 序列化数据 $string = json_encode($myvar); // 解码上面编码的字符串 $newvar = json_decode($string); // 打印解码后的数据 print_r($newvar); ?>
출력:
Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple )
위 내용은 PHP는 데이터를 어떻게 직렬화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!