array_walk를 이용한 배열 함수
제가 사용하는 class로 만든 일부분 입니다. 그냥 봐보세요 ^^ 전 array_walk(php3,4,5지원/array_map는 php4.0.6이상)를 이용했습니다
아래 여기저기 조합한 것들이라 출처는 저도 기억이 나지 않습니다.
필요에 따라서는 수정한 부분도 있었던것 같고요 ^^
<?php
class Fun {
/**
* 배열값들의 앞뒤 공백 없애기
* @Call $this->trimAll() : 재귀호출(자기자신 호출)
* @Param &$array {array}
* @Return $array {array} : &변수이므로 그값을 그대로 가짐(C의 포인터(?))
*/
function trimAll(&$array) {
if( is_array($array) ) {
// class 일경우 array_walk ($array, array($this, 'trimAll'));
array_walk ($array, array($this, 'trimAll'));
} else {
$array = trim($array);
}
}
/**
* 배열값 전체에 addslashes
* @Call $this->addslashesAll() : 재귀호출(자기자신 호출)
* @Param &$array {array}
* @Return $array {array} : &변수이므로 그값을 그대로 가짐(C의 포인터(?))
*/
function addslashesAll(&$array) {
if (get_magic_quotes_gpc() == false){
if(is_array($array)) {
array_walk ($array, array($this, 'addslashesAll'));
} else {
$array = addslashes($array);
}
}
}
/**
* 배열값 전체에 stripslashes
* @Call $this->stripslashesAll() : 재귀호출(자기자신 호출)
* @Param &$array {array}
* @Return $array {array} : &변수이므로 그값을 그대로 가짐(C의 포인터(?))
*/
function stripslashesAll(&$array) {
if(is_array($array)) {
array_walk ($array, array($this, 'stripslashesAll'));
} else {
$array = stripslashes($array);
}
}
//EUC-KR(한글 코드페이지[949])을 UTF-8로
function iconv_utf8All(&$array){
if( is_array($array) ) {
// class 일경우 array_walk ($array, array($this, 'trimAll'));
array_walk ($array, array($this, 'iconv_utf8All'));
} else {
//$array = iconv($slang,$tlang,$array);
if (iconv("UTF-8","UTF-8",$array) == $array) {
$array = $array;
} else {
$array = iconv("CP949","UTF-8",$array);
}
}
}
//UTF-8을 EUC-KR(한글 코드페이지[949])로
function iconv_CP949All(&$array){
if( is_array($array) ) {
// class 일경우 array_walk ($array, array($this, 'trimAll'));
array_walk ($array, array($this, 'iconv_CP949All'));
} else {
//$array = iconv($slang,$tlang,$array);
if (iconv("CP949","CP949",$array) == $array) {
$array = $array;
} else {
$array = iconv("UTF-8","CP949",$array);
}
}
}
}
?>
이 글은 스프링노트에서 작성되었습니다.
'Language > PHP' 카테고리의 다른 글
[PHP]구글드라이브를 이용한 OCR 기능 (0) | 2021.09.09 |
---|---|
[알고리즘] 날짜 - 이번주에 시작일과 마지막일 구하기 (0) | 2009.12.08 |