PHP에서 직렬화 및 사제화의 기본 목적은 객체 또는 배열을 쉬운 데이터 스토리지 또는 네트워크 전송을 위해 문자열로 변환하는 것입니다. 직렬화는 데이터를 문자열로 변환하는 반면, 사막화는 문자열을 객체 또는 배열과 같은 원래 데이터 유형으로 되돌립니다.
PHP는 객체 또는 배열을 문자열로 변환하기위한 Serialize () 함수를 제공합니다. 예를 들어:
$data = [
'name' => 'John Doe',
'age' => 30
];
$serialized_data = serialize($data);
이 시점에서 $ serialized_data 변수는 직렬화 된 데이터를 포함하는 문자열을 보유합니다.
직렬화 된 문자열을 원래 객체 또는 배열로 복원하기 위해 PHP는 unsserialize () 함수를 제공합니다. 예를 들어:
$unserialized_data = unserialize($serialized_data);
var_dump($unserialized_data);
이것은 원래 데이터 구조를 출력합니다.
array(2) {
'name' => string(8) "John Doe",
'age' => int(30)
}
실제 응용 분야에서 직렬화 및 사제화는 종종 사용자가 브라우저 또는 스위치 장치를 닫은 후 데이터 손실을 피하기 위해 세션 데이터를 저장하는 데 사용됩니다. Serialize ()를 사용하여 데이터베이스에서 세션 데이터를 저장할 수 있습니다.
$data = [
'user_id' => 123,
'cart_items' => ['item1', 'item2']
];
$serialized_data = serialize($data);
$_SESSION['saved_data'] = $serialized_data;
그런 다음 Unserialize ()가 필요할 때 데이터를 복원 할 수 있습니다.
$serialized_data = $_SESSION['saved_data'];
$data = unserialize($serialized_data);
언제든지 복구 된 데이터에 액세스 할 수 있습니다.
echo $data['user_id']; // 산출:123
echo $data['cart_items'][0]; // 산출:item1
Serialization 및 Desorialization을 통해 PHP는 강력한 데이터 저장 및 전송 기능을 제공하며 특히 세션 데이터의 저장 및 복구에 유용합니다. 이 팁을 마스터하면 웹 사이트에서 세션 및 데이터 저장 문제를보다 효율적으로 처리하는 데 도움이됩니다.