사이트 내 전체검색
PHP
form 으로 배열값 넘기기 - serialize(), unserialize()
로빈아빠
https://cmd.kr/php/324 URL이 복사되었습니다.

본문

함수명:


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


?>

댓글목록

등록된 댓글이 없습니다.

PHP
871 (3/18P)

Search

Copyright © Cmd 명령어 18.119.139.0