[PHP] 배열을 URL GET 변수로 만들어 주는 함수 http_build_query

이런 자잘한 함수를 알면 시간이 절약되고 코드가 깔끔해 진다. 특히 자잘한 함수들에 자잘하게 신경쓸 게 많은 경우 그렇다.

코드를 한 번 보자.

<a target="_blank" href="http://twitter.com/share?text=<?php echo urlencode('[맑시즘 2011]'.$page_title)?>&url=http://<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']?>&via=marxismTwit" title="트위터로 퍼가요">

이걸 이렇게 만들 수 있다.

$twitter_query_array = array(
	'text'=>'[맑시즘 2011]'.$page_title,
	'url'=>'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'],
	'via'=>'marxismTwit'
);
$twitter_query = http_build_query($twitter_query_array);
<a target="_blank" href="http://twitter.com/share?<?php echo $twitter_query?>" title="트위터로 퍼가요">

GET 변수를 직접 쓰는 방식이 아니라 array로 만든 후 http_build_query 함수를 이용해 변환하는 방식을 사용하면 장점이 있다.

일단, 위에서 볼 수 있는대로 URL 길이가 줄어든다.

다음으로, 변수와 값의 쌍이 1줄에 1개씩 들어가는 것으로 관리되므로, SVN 같은 버전관리 시스템에서 관리하기 용이하다.

알아보기 쉬움은 물론이다.

마지막으로 한글이나 특수문자가 들어가는 경우 urlencode 함수를 사용해 줘야 하는데 알아서 변환해 준다.

👇 카테고리 글 목록

대표글

“[PHP] 배열을 URL GET 변수로 만들어 주는 함수 http_build_query” 에 하나의 답글

  1. […] 만드는 데 사용한 http_build_query 함수는 내가 쓴 설명을 참고하면 […]

댓글 남기기