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

serialize unserialize 배열정보를문자열의 형태로 변환

페이지 정보

작성자 MintState 댓글 0건 조회 3,514회 작성일 14-12-08 12:36

본문

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

댓글목록

등록된 댓글이 없습니다.

Total 165건 1 페이지
PHP 목록
번호 제목 글쓴이 조회 날짜
165 MintState 259 05-17
164 MintState 281 05-11
163 MintState 655 04-05
162 MintState 619 04-03
161 MintState 918 01-18
160 MintState 1238 08-08
159 MintState 4607 07-31
158 MintState 1364 05-29
157 MintState 1640 02-22
156 MintState 1733 02-21
155 MintState 4042 11-12
열람중 MintState 3515 12-08
153 MintState 6138 02-26
152 MintState 8583 01-22
151 MintState 5902 07-27
150 MintState 6451 02-10
149 MintState 6787 10-21
148 MintState 9303 05-02
147 MintState 8117 04-18
146 MintState 8319 04-17
145 MintState 8307 04-17
144 MintState 8292 03-14
143 MintState 8262 03-04
142 MintState 9805 01-18
141 MintState 10121 07-02
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2018, YesYo.com MintState. ™