Variable handling 함수 목록
PHP Manual

serialize

(PHP 4, PHP 5)

serialize — 값의 저장 표현을 생성

설명

string serialize ( mixed $value )

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

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

일렬화된 문자열을 다시 PHP 변수로 만드려면, unserialize()를 사용합니다.

인수

value

일렬화할 값. serialize()는 resource형을 제외한 모든 형을 다룹니다. 자기 자신을 참조하는 배열을 serialize()할 수도 있습니다. 배열/객체 안의 순환 참조도 일렬화하여 저장됩니다. 그 외의 다른 참조는 읽어버립니다.

객체를 일렬화할 때, 일렬화 전에 __sleep 멤버 함수를 호출합니다. 이로써 일렬화하기 전에 객체를 마지막으로 정리할 수 있습니다. 마찬가지로, unserialize()을 사용하여 객체를 되돌릴 때는 __wakeup 멤버 함수를 호출합니다.

Note: 객체의 private 멤버는 이름 앞에 클래스 이름을 덧붙입니다; protected 멤버는 이름 앞에 '*'를 덧붙입니다. 이런 덧붙인 값은 모두 null 바이트를 가집니다.

반환값

value 의 어디에라도 저장할 수 있는 바이트 스트림 표현을 가지는 문자열을 반환합니다.

예제

Example #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), $_SERVER['PHP_AUTH_USER']);
if (!
odbc_execute($stmt, &$sqldata)) {
    
$stmt = odbc_prepare($conn,
     
"INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!
odbc_execute($stmt, &$sqldata)) {
        
/* 무언가 잘못되었을때 할 일.. */
    
}
}
?>

변경점

버전 설명
4.0.7 객체 일렬화 처리가 고정되었습니다.
4.0.0 객체를 일렬화할 때, 메쏘드를 잃어버리지 않습니다. 자세한 정보는 객체 일렬화를 참고하십시오.

주의

Note: PHP 내부 객체를 일렬화할 수 없습니다.

참고


Variable handling 함수 목록
PHP Manual