PHP5에서 foreach의 변수참조 (예 EUC-KR → UTF-8로 iconv시 유용)
http://kr2.php.net/manual/kr/control-structures.foreach.php
제 서버는 PHP5에 Mysql은 4.x대 EUC-KR입니다.
UTF-8로 코딩하려 하니 테이블에서 불러오고 저장할 때마다 항상
iconv 함수를 사용해야 합니다.
그런데 iconv 함수는 배열변수를 바로 사용할 수는 없습니다.
그래서, 아래와 같이 간단한 함수를 만들었습니다.
function _IconvArr ($ar, $f='EUC-KR', $t='UTF-8') # $ar=배열변수, $f=From, $t=To
{
foreach($ar as &$v) { $v = iconv($f, $t, $v); }
return $ar;
}
$q = "SELECT ~ 구문으로 시작하는 쿼리";
$r = mysql_query($q);
$d = mysql_fetch_array($r);
$d = _IconvArr($d);
여기에서 주목할 만한 것은, foreach 구문 안에 있는 $v 앞에 있는 &입니다.
쓸 데 없이 배열변수를 하나 더 사용하여 값을 복사하지 않고
해당 배열변수 안의 값이 변경됩니다.
PHP5부터 가능하다고 합니다.
이뿐만 아니라, foreach 함수를 사용하면서
필요할 때 유용하게 사용할 수 있는 팁이라 생각합니다.
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=64548&page=1
'APM' 카테고리의 다른 글
mysql 이미 데이터가 들어간 테이블의 UTF-8 및 각종 문자셋 변환 (0) | 2009.06.02 |
---|---|
UTF-8에서 한글자르기 (0) | 2009.04.25 |
MySQL euc-kr 데이타 UTF-8로 컨버팅 하기 (0) | 2009.04.23 |
Fedora Core 5에서 Fedora Core 7으로 Upgrade (0) | 2008.12.30 |
Fedora Core 7에서 Fedora Core 8로 Upgrade하기 (0) | 2008.12.30 |
댓글