1. 2007.11.05 PHP5 새로운 함수
  2. 2007.10.24 유용한 일반 함수 모음

PHP5 새로운 함수

PHP 5에서 새로운 함수가 추가되었습니다. 그 목록입니다:

배열:

  • array_combine() - 하나의 배열을 키로, 하나의 배열을 값으로 가지는 배열을 생성합니다.

  • array_diff_uassoc() - 사용자가 제공하는 콜백 함수를 통한 추가적인 인덱스 확인을 포함하여 배열의 차이를 계산합니다.

  • array_udiff() - 데이터 비교에 콜백 함수를 사용하여 배열의 차이를 계산합니다.

  • array_udiff_assoc() - 추가적인 인덱스 확인을 통한 배열의 차이를 계산합니다. 데이터 비교는 콜백 함수를 사용합니다.

  • array_udiff_uassoc() - 추가적인 인덱스 확인을 통한 배열의 차이를 계산합니다. 데이터 비교는 콜백 함수를 사용합니다. 인덱스 확인도 콜백 함수를 사용합니다.

  • array_walk_recursive() - 배열의 모든 원소에 사용자 함수를 적용합니다.

인터베이스:

iconv:

스트림:

기타:

참고: Tidy 확장도 API가 완전히 바뀌었습니다.

출처:[http://kr2.php.net/manual/kr/migration5.functions.php]

'WebDevelop > PHP' 카테고리의 다른 글

정규식  (0) 2007.11.22
PHP5에서의 객체지향프로그래밍  (0) 2007.11.02
유용한 일반 함수 모음  (0) 2007.10.24

유용한 일반 함수 모음

//페이지 이동
function go($move = "back",$time = "0") {
    if($move == "back") echo("<script>history.back();</script>");
    else echo("<meta http-equiv='refresh' content='$time;url=$move'>");
}
//메시지창+히스토리백
function alert($message,$move = "back") {
    $print = "<script>window.alert('$message');";
    if($move == "back") $print .= "history.back();";
    else $print .= "location.href = '$move';";
    $print .= "</script>";
    echo("$print");
    exit;
}
//디비접속
function db() {
    global $connect;
    if(!$connect) {
        $connect = mysql_connect("localhost","testid","1234") or die("MySQL 접속 실패");
        mysql_select_db("testdb",$connect) or die("MySQL 접속 실패");
    }
}
//단어 필터링
function filter($string,$filter = "",$type = "change",$change = "###") {
    if(!$filter) return $string;
    $filter = explode(",",$filter);
    $fcount = sizeof($filter);
    for($i = 0;$i < $fcount;$i++) {
        if(eregi($filter[$i],$string)) {
            if($type == "error") alert("\"$filter[$i]\"은(는) 금칙어입니다.");
            else $string = str_replace($filter[$i],$change,$string);
        }
    }
    return $string;
}
//문자열 커트
function cutstr($str,$size) {
    if(!$size or (strlen($str) <= $size)) return $str;
    else for($i = 0;$i < $size;$i++) if(ord($str[$i]) > 127) $over++;
    return chop(substr($str,0,$size - $over%2))."...";
}
//테이블 생성여부 체크
function tablecheck($table,$db)
    $result = mysql_list_tables($db);
    for($i = 0;$i < mysql_num_rows($result);$i++) {
        if($table == mysql_tablename($result,$i)) return true;
    }
    return false;
}
//빠른 DB자료 로드(노가다 도우미;;)
function select($table,$field = "*",$where = "") {
    if(!$table) return false;
    $q = "select $field from $table";
    if($where) $q .= " where $where";
    $result = mysql_query($q);
    $return = mysql_fetch_array($result);
    return $return;
}
//////////아래는 제로보드 lib.php에서 발췌한 함수입니다.
// 빈문자열 경우 1을 리턴
function isblank($str) {
    $temp=str_replace(" ","",$str);
    $temp=str_replace("\n","",$temp);
    $temp=strip_tags($temp);
    $temp=str_replace(" ","",$temp);
    $temp=str_replace(" ","",$temp);
    if(eregi("[^[:space:]]",$temp)) return 0;
    return 1;
}
// 숫자일 경우 1을 리턴
function isnum($str) {
    if(eregi("[^0-9]",$str)) return 0;
    return 1;
}
// 숫자, 영문자 일경우 1을 리턴
function isalNum($str) {
    if(eregi("[^0-9a-zA-Z\_]",$str)) return 0;
    return 1;
}
// HTML Tag를 제거하는 함수
function del_html( $str ) {
    $str = str_replace( ">", "&gt;", $str );
    $str = str_replace( "<", "&lt;", $str );
    return $str;
}
// 주민등록번호 검사
function check_jumin($jumin) {
    $weight = '234567892345'; // 자리수 weight 지정
    $len = strlen($jumin);
    $sum = 0;
    if ($len <> 13) return false;
    for ($i = 0; $i < 12; $i++) {
        $sum = $sum + (substr($jumin,$i,1)*substr($weight,$i,1));
    }
    $rst = $sum%11;
    $result = 11 - $rst;
    if ($result == 10) $result = 0;
    else if ($result == 11) $result = 1;
    $ju13 = substr($jumin,12,1);
    if ($result <> $ju13) return false;
    return true;
}
// E-mail 주소가 올바른지 검사
function ismail( $str ) {
    if( eregi("([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)", $str) ) return $str;
    else return '';
}
// E-mail 의 MX를 검색하여 실제 존재하는 메일인지 검사
function mail_mx_check($email) {
    if(!ismail($email)) return false;
    list($user, $host) = explode("@", $email);
    if (checkdnsrr($host, "MX") or checkdnsrr($host, "A")) return true;
    else return false;
}
// 홈페이지 주소가 올바른지 검사
function isHomepage( $str ) {
    if(eregi("^http://([a-z0-9\_\-\./~@?=&-\#{5,}]+)", $str)) return $str;
    else return '';
}
// URL, Mail을 자동으로 체크하여 링크만듬
function autolink($str) {
    // URL 치환
    $homepage_pattern = "/([^\"\'\=\>])(mms|http|HTTP|ftp|FTP|telnet|TELNET)\:\/\/(.[^ \n\<\"\']+)/";
    $str = preg_replace($homepage_pattern,"<A href="file://1%3ca/"><FONT color=#0077ff>\\1<a</FONT></A> href=\\2://\\3 target=_blank>\\2://\\3</a>", " ".$str);
    // 메일 치환
    $email_pattern = "/([ \n]+)([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)/";
    $str = preg_replace($email_pattern,"<A href="file://1%3ca/"><FONT color=#0077ff>\\1<a</FONT></A> href=mailto:\\2@\\3>\\2@\\3</a>", " ".$str);
    return $str;
}
// 파일 사이즈를 kb, mb에 맞추어서 변환해서 리턴
function getfilesize($size) {
    if(!$size) return "0 Byte";
    if($size<1024) {
        return ($size." Byte");
    } elseif($size >1024 $size< 1024 *1024) {
        return sprintf("%0.1f KB",$size / 1024);
    } else {
	    return sprintf("%0.2f MB",$size / (1024*1024));
    }
}

'WebDevelop > PHP' 카테고리의 다른 글

PHP5에서의 객체지향프로그래밍  (0) 2007.11.02
랜덤 숫자 + 영문  (1) 2007.10.05
XMLParser  (0) 2007.10.05
Return top