[ php ] searialize(), unserialize() 배열의 직렬화(일렬화), 일반화, 많은 필드를 한개의 필드로 정리하고 싶을 때
페이지 정보
작성자 웹지기 댓글 0건 조회 8,754회 작성일 18-12-06 09:59본문
(PHP 4, PHP 5, PHP 7)
serialize — 값의 저장 표현을 생성
설명
string serialize ( mixed $value )
값의 저장 표현을 생성합니다.
이는 PHP 값을 저장하거나 전달할 때 자료형이나 구조를 잃어버리지 않게 합니다.
일렬화된 문자열을 다시 PHP 변수로 만드려면, unserialize()를 사용합니다.
인수
value
일렬화할 값. serialize()는 resource형을 제외한 모든 형을 다룹니다. 자기 자신을 참조하는 배열을 serialize()할 수도 있습니다. 배열/객체 안의 순환 참조도 일렬화하여 저장됩니다. 그 외의 다른 참조는 읽어버립니다.
객체를 일렬화할 때, 일렬화 전에 __sleep 멤버 함수를 호출합니다. 이로써 일렬화하기 전에 객체를 마지막으로 정리할 수 있습니다. 마찬가지로, unserialize()을 사용하여 객체를 되돌릴 때는 __wakeup 멤버 함수를 호출합니다.
Note:
객체의 private 멤버는 이름 앞에 클래스 이름을 덧붙입니다; protected 멤버는 이름 앞에 '*'를 덧붙입니다. 이런 덧붙인 값은 모두 null 바이트를 가집니다.
반환값
value의 어디에라도 저장할 수 있는 바이트 스트림 표현을 가지는 문자열을 반환합니다.
예제)
write페이지에서 일반적으로 값을 넘긴다. post 또는 get
저장되는 페이지에서 $a = serialize($_POST); 또는 $a = serialize($_GET); 과 같은 형태로 저장한다.
종류에 따라 $a = addslashes($a); 로 한번더 처리해줘야 하는 경우도 있다.
불러오는 페이지에서는 $view_a = unserialize($a); 로 사용을 하면 배열의 key 와 value 형태로 변형된다.
관련링크
댓글목록
등록된 댓글이 없습니다.