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
'인터넷정보' 카테고리의 다른 글
HTML Special Characters & Symbols Character Entity Reference (0) | 2009.05.05 |
---|---|
현재의 웹 페이지에서 신뢰할 수 있는 사이트 목록에 포함되어 있는 사이트를 열려고 합니다. 해당사이트를 열도록 허용하시겠습니까? (0) | 2009.05.01 |
[함수] 타도메인 외부사이트의 이미지(파일) 크기 구하기 (0) | 2008.12.02 |
[함수] 타도메인 외부사이트의 이미지(파일) 크기 구하기 (0) | 2008.12.02 |
PHP5에서 foreach의 변수참조 (예 EUC-KR → UTF-8로 iconv시 유용) (0) | 2008.12.02 |
파일 용량 체그 표기용 변환 (0) | 2008.12.02 |
파일 용량 체그 표기용 변환 (0) | 2008.12.02 |
인코딩 변환 - mb_convert_encoding() (0) | 2008.11.25 |
인코딩 변환 - mb_convert_encoding() (0) | 2008.11.25 |
UTF-8 vs EUC-KR 어떻게 다른가요? (0) | 2008.11.05 |