PHP 매뉴얼
이전 |  | 다음

# serialize

(PHP 3>= 3.0.5, PHP 4 , PHP 5)

serialize -- 값의 저장 표현을 생성합니다.

## 설명

string serialize ( mixed value)

serialize()는 어디에도 저장할 수 있도록 `value`의 바이트 스트림 표현을 포함하는 문자열을 반환합니다.

이는 PHP 값을 저장하거나 전달할 때 형이나 구조를 잃어버리지 않게 합니다.

serialize된 문자열을 다시 PHP 변수로 만들때는, unserialize()를 사용합니다. serialize()는 resource형을 제외한 모든 형을 다릅니다. 심지어 자기 자신을 참조하는 배열을 serialize()할 수도 있습니다. 배열/객체 안의 참조는 serialize()할 때 저장됩니다.

객체를 일렬화할 때, 일렬화에 앞서 __sleep() 멤버 함수를 호출합니다. 이는 일렬화하기 전에 객체를 마지막으로 정리할 수 있도록 합니다. 비슷하게, unserialize()을 사용하려 객체를 되돌릴 때, __wakeup() 멤버 함수를 호출합니다.

> 참고: PHP 3에서, 객체 속성은 일렬화되지만, 메쏘드는 잃어버립니다. PHP 4에서는 이런 제한이 사라졌고, 속성과 메쏘드를 둘다 복구합니다. 자세한 정보는 클래스와 객체의 객체 일렬화하기 섹션을 참고하십시오.

예 1. serialize() 예제

`<?php
// $session_data는 현재 사용자의 세션 정보를 다차원 배열로
// 가집니다. 요청의 마지막에 이것을 데이터베이스에 저장하기
// 위해서 serialize()를 사용합니다.
$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
"UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $PHP_AUTH_USER);
if (!odbc_execute($stmt, &$sqldata)) {
$stmt = odbc_prepare($conn,
"INSERT INTO sessions (id, data) VALUES(?, ?)");
if (!odbc_execute($stmt, &$sqldata)) {
/* 무언가 잘못되었을때 할 일.. */
}
}
?>`

참고: unserialize().

이전 | 처음으로 | 다음
print_r | 위로 | settype