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().