YesYo.com MintState Forums  
뒤로    YesYo.com MintState BBS > Tech > PHP
검색
멤버이름  오토
비밀번호 
 

 
작성일 : 14-12-08 12:36
serialize unserialize 배열정보를문자열의 형태로 변환
 글쓴이 : MintState
조회 : 2,840  
serialize unserialize 배열정보를문자열의 형태로 변환

저는 잘안쓰긴 하는데 가끔씩 필요가 있어서 기록합니다.

string serialize(mixed value)
변수의 데이터를 저장 및 복원이 가능한 형태로 반한다.

value를 어디에나 저장이 가능하다 원래의 데이터로 복원할 수 있는 정보를 가진 문자열의 형태로 반환한다.
주로 value는 배열이 오는데 get 이나 post 로 데이터를 전송할때 변환해서 전송하는 방식이다.
변환방식은 원래 가진 값과 구조를 바이트 스트림(byte-stream)으로 변환하는 방식이다.

mixed unserialize(string str)
serialize()로 변환된 데이터를 원래의 데이터로 복원한다.

str를 원래의 데이터로 복원시키는 역할을 한다.

예제
<?
$foods = array("food" => "pizza", "beverage" => "cola", "fruit" => array("apple", "strawberry", "coconut"));

// 배열($foods)을 복원가능한 형태의 데이터로 변환하여 반환한다. 
$serialized_foods = serialize($foods);
echo $serialized_foods;
// a:3:{s:4:"food";s:5:"pizza";s:8:"beverage";s:4:"cola";s:5:"fruit";a:3:{i:0;s:5:"apple";i:1;s:10:"strawberry";i:2;s:7:"coconut";}}
?>
<a href="test2.php?foods=<?=urlencode($serialized_foods)?>">serialize 함수 사용 전과 후의 결과보기</a>


예제 test2.php
<?
echo "unserialize 전 : <p>";
echo "[타입] : " . gettype($_GET["foods"]) . "<br>";
echo "[값] : " . $_GET["foods"] . "<p>";
/*
unserialize 전 : 
[타입] : string
[값] : a:3:{s:4:\"food\";s:5:\"pizza\";s:8:\"beverage\";s:4:\"cola\";s:5:\"fruit\";a:3:{i:0;s:5:\"apple\";i:1;s:10:\"strawberry\";i:2;s:7:\"coconut\";}}
*/

// serialize() 함수로 변환된 데이터를 원래의 배열로 복원시킨다.
$new_foods =unserialize(stripslashes($_GET["foods"])); 
//urlencde()들어온 값은 " 앞에 역슬러쉬릴 붙이므로 반듯이 stripslashes() 한다

echo "unserialize 후 : <p>";
echo "[타입] : " . gettype($new_foods) . "<br>";
echo "[값] : ";
print_r($new_foods);
/*
unserialize 후 : 

[타입] : array
[값] : 
Array
 (
 [food] => pizza
 [beverage] => cola
 [fruit] => Array
  (
   [0] => apple
   [1] => strawberry
   [2] => coconut
  )
 )
*/
echo $new_foods[food]; //pizza
?>


출처 : http://dance2i.tistory.com/122
Rated 0/5 (0%) (0 Votes)

(\__/)
(='.'=)
(")_(")~
Search Infomation by MintState
MintState

 
 

Total 163
번호 제   목 글쓴이 날짜 조회
163 파일이 GIF애니메이션인지 확인 MintState 04-05 27
162 PHP 디렉토리 정보를 출력(디렉토리 깊이, 예외 파일, 디렉토리 설정) MintState 04-03 28
161 개행문자 CRLF( \n\r 엔터) 제거 MintState 01-18 220
160 첫문자를 대문자, 소문자로 변경하는 함수 MintState 08-08 513
159 header를 이용한 페이지 이동 함수 MintState 07-31 508
158 URL에서 한글만 인코딩 MintState 05-29 649
157 youtube preg_replace pattern MintState 02-22 934
156 특정 디렉토리의 하위파일 목록 가져오기 MintState 02-21 1003
155 [정규식] 해시태그(#) 뽑아내기 MintState 11-12 2918
154 serialize unserialize 배열정보를문자열의 형태로 변환 MintState 12-08 2841
153 실시간 화면 출력 flush, ob_flush MintState 02-26 5361
152 [MYSQL] 생년월일로 나이 반환 MintState 01-22 7527
151 php 절사 MintState 07-27 5201
150 Referer URL 이용하여 검색엔진 키워드 뽑아내기 MintState 02-10 5756
149 달력 소스 MintState 10-21 6056
148 MYSQL 예약어 MintState 05-02 8338
147 페이징 클래스 v1.0 (PHP4/5) MintState 04-18 7208
146 GD 라이브러리 MintState 04-17 7633
145 GD를 이용한 기본기능 썸네일,CROP,CROP썸네일,텍스트 만들기 MintState 04-17 7340
144 xml 통신(수신) - Web 언어별 MintState 03-14 7522
143 무조건 알아야 할 PHP 속도 테스트 14 가지 MintState 03-04 7372
142 PHP를 이용하여 MYSQL Sleep 프로세스 죽이기 MintState 01-18 8925
141 youtube 주소로 정보 반환 MintState 07-02 9004
140 방문자의 브라우저와 OS등을 가져 오는 클레스 MintState 07-02 11495
139 Allowed memory size Error 발생시 처리방법 MintState 06-30 9495
 1  2  3  4  5  6  7  
모바일 버전으로 보기
CopyRight ©2004 - 2018, YesYo.com MintState. ™