함수명:

serialize(), unserialize()

 

설명:

php.net의 API를 보면 변수값을 serialize 할 경우 그 값을 byte-stream의 스트링 형태로 변환시켜준다고 한다.

주로 페이지 사이에 데이타를 손상 없이 주고 받아야 할 때 그 값을 serialize 해서 사용한다.

 

사용법:

serialize( [시리얼라이즈 하고 싶은 오브젝트/변수] ):

-string 값을 리턴한다.

unserialize( [시리얼라이즈 된 스트링] ):

-원래의 데이타 타입 그대로 리턴한다. 하지만 오브젝트일 경우 그 오브젝트의 클래스 정의가 같은 페이지안에 포함되어있어야 한다. 

 

예제:

* 배열을 폼으로 넘겨주고 싶을때는 urlencode/decode 함수와 함께 쓰면 정확히 넘겨줄 수 있다.

 

//보낼때:

<?php

     $fruits= array( 'apple', 'orange', 'strawberry', 'peach' );

?>

     <form name="form1" method="post" action="mypage2.php">

          <input type="hidden" name="fruitsarray" value="<?=urlencode(serialize($fruits))?>" />

          <input type="submit" name ="submit" value="submit" />

     </form>

 

//받을때:

<?php

     $fruitsReceived = unserialize(urldecode($_POST['fruitsarray']));

     print_r( $fruitsReceived );     //apple, orange, strawberry, peach

?>

+ Recent posts