영삼이의 IT정보2012. 4. 30. 15:33

PHP에서 꼭 알아야 될 함수

(1) 변수 관련 함수

☞ empty 함수

      

구문 : int empty(mixed var)
기능 : 변수가 설정되어 있는지 알아본다.

변수가 설정되어 있지 않으면 true를 리턴하고, 값이 있으면 false를 리턴합니다.

<파일명 : ex29.php>

<?
$a="";
$b="string";
if (empty($a)) echo "a empty<br>";
if (empty($b)) echo "b empty<br>";
?>

☞ isset 함수

      

구문 : int isset(mixed var)
기능 : 변수가 설정되어 있는지 알아본다.

변수가 설정되어 있으면 true, 그렇지 않으면 false를 리턴합니다.

만약에 unset()으로 변수가 이미 해제되었다면 더 이상 isset()는 true를 리턴하지 않습니다.

<파일명 : ex30.php>

<?
$a="string";
if (isset($a)) echo "1. a is set<br>";
unset($a);
if (isset($a)) echo "2. a is set<br>";
?>

☞ unset 함수

      

구문 : int unset(mixed var)
기능 : 변수의 설정을 해제한다.

변수의 설정을 해제한 루 true를 리턴합니다.

 

(2) 문자열 관련 함수

☞ addslashes 함수

      

구문 : string addslashes(string str)
기능 : 필요한 곳을 역슬래시(\)로 감싼다.

문자열이 작은 따음표(')나 큰 따음표("), 또는 역슬래시(\)와 같은 문자를 가지고 있는 경우 이 문자 앞에 역슬래시(\)를 추가하여 전체 문자열을 반환합니다.

보통 SQL 문에서 작은 따음표나 큰 따음표에 역슬래시를 추가할 때 많이 사용합니다.

<파일명 : ex31.php>

<?
$str="addslash 연습입니다. '연습'";
echo "addslash() 함수 사용 전 : $str <br>";
$str=addslashes($str);
echo "addslash() 함수 사용 후 : " . $str . "<br>";
?>

☞ stripslashes 함수

      

구문 : string stripslashes(string str)
기능 : addslashes()로 역슬래시가 추가된 문자열에서 역슬래시를 제거한다.

addslashes() 함수를 통해 역슬래시 처리가 된 문자에서 역슬래시(\) 문자를 제거하여 원 상태로 되돌립니다.

<파일명 : ex32.php>

<?
$str="addslash 연습입니다. '연습'";
echo "addslashes() 함수 사용 전 : $str <br>";
$str=addslashes($str);
echo "addslashes() 함수 사용 후 : $str <br>";
$str=stripslashes($str);
echo "stripslashes() 함수 사용 후 : $str <br>";
?>

☞ echo 함수

      

구문 : echo(string arg1, string [argn] …)
기능 : 하나 또는 그 이상의 문자열을 출력한다.

인자들을 모두 출력합니다.

<파일명 : ex33.php>

<?
$str1="echo 연습입니다.";
$str2="echo 사용하기";
echo $str1 . "<br>";
echo $str1.$str2;
?>

☞ explode 함수

      

구문 : array explode(string separator, string string)
기능 : 구분자를 사용하여 문자열을 나눈다.

첫 번째 인자를 구분자로 하여 두 번째 인자를 나누어 배열로 리턴합니다.

<파일명 : ex34.php>

<?
$str="aaa;bbb;ccc;ddd;eee;fff;";
$array=explode(";",$str);
for ($i=0, $max=count($array); $i<$max; $i++) {
   echo "$i = $array[$i] <br>";
}
?>

☞ htmlspecialchars 함수

      

구문 : string htmlspecialchars(string string)
기능 : 특수문자들을 HTML 코드로 바꾼다.

게시판이나 방명록 등에서 사용자가 입력한 특수문자들을 변환시킵니다.

  &(ampersand)를 '&'로
  "(double quote)를 '"'로
  <(less than)을 '&It;'로
  >(greater than)을 '>'로 바꾸어 리턴합니다.

위의 4가지 특수문자를 제외한 나머지 문자는 변환하지 않습니다.

<파일명 : ex35.php>

<?
$str="HTML 에서 <b>특수문자</b> 변환하기";
echo "htmlspecialchars() 사용 전 : $str <br>\n";
$str=htmlspecialchars($str);
echo "htmlspecialchars() 사용 후 : $str <br>";
?>

☞ nl2br 함수

      

구문 : string nl2br(string string)
기능 : 개행(\n)을 <BR>태그로 바꾼다.

폼으로 입력받을 때 입력하는 사람이 엔터를 치면 다음 줄로 넘어갑니다. 그런데 입력받은 내용을 데이터베이스에 넣고 나중에 출력할 때는 문자들이 모두 붙어서 나옵니다. 따라서 데이터베이스에서 내용을 얻어 브라우저로 보여줄 때 함수를 사용하면 다음 줄로 넘어가게 보입니다.

<파일명 : ex36.php>

<?
$str="nl2br 을 위한 예제
한줄...
두줄...
세줄...
";

echo "nl2br() 사용 전 : $str <br>\n";
$str=nl2br($str);
echo "nl2br() 사용 후 : $str <br>";
?>

☞ printf 함수

      

구문 : string nl2br(string string)
기능 : 개행(\n)을 <BR>태그로 바꾼다.

echo 함수와 비슷한 역할을 합니다.

<파일명 : ex37.php>

<?
$a=14.5;
$b=3.3;
$sum=$a+$b;
printf("%02.2f + %02.2f = %02.2f <br>", $a, $b, $sum);
printf("결과값의 정수값 = %d", $sum);
?>

☞ sprintf 함수

      

구문 : string sprintf(string format, mixed [args]...)
기능 : 포맷 문자열을 통해 지정해 준 포맷으로 문자열을 반환합니다.

 sprintf() 함수는 C에서 사용법과 비슷하게 지정해 준 포맷에 맞게 문자열을 반환합니다.

<파일명 : ex38.php>

<?
$a=14.5;
$b=3.3;
$sum=$a+$b;
$str=sprintf("%02.2f + %02.2f = %02.2f <br>", $a, $b, $sum);
echo $str;
$str=sprintf("정수값 = %d <br>", $sum);
echo $str;
$str=sprintf("실수값 = %f <br>", $sum);
echo $str;
?>

☞ strip_tags 함수

      

구문 : string strip_tags(string str, string [allowable_tags])
기능 : 문자열에서 HTML과 PHP 태그를 제거한다.

문자열 중에서 HTML과 PHP 태그를 제거한 문자열을 반환합니다.

<파일명 : ex39.php>

<?
$str="strip_tags() 연습입니다.
<b>HTML 태그</b>
<? echo \"php 태그 \"; ?>
";

echo ("strip_tags 사용 전 : $str <br>");
$str=strip_tags($str);
echo ("strip_tags 사용 후 : $str <br>");
?>

☞ strlen 함수

      

구문 : int strlen(string str)
기능 : 문자열의 길이를 구한다.

문자열의 길이를 리턴합니다.

<파일명 : ex40.php>

<?
$str="We are the world";
echo ("$str 의 문자열 길이 = ");
echo strlen($str);
?>

☞ substr 함수

      

구문 : string substr(string string, int start, int [length])
기능 : 문자열의 일부분을 리턴합니다.

start로부터 length 만큼 리턴합니다. length가 생략되면 문자열의 끝까지 리턴합니다. start가 음수일 경우 뒤에서부터 리턴합니다. length가 음수일 경우 뒤에서부터 length까지만 리턴합니다.

<파일명 : ex41.php>

<?
//start가 양수일 경우
$rest=substr("abcdef", 1); 
echo "$rest <br>";
$rest=substr("abcdef", 1, 3);
echo "$rest <br>";

//start가 음수일 경우
$rest=substr("abcdef", -1);
echo "$rest <br>";
$rest=substr("abcdef", -2);
echo "$rest <br>";
$rest=substr("abcdef", -3,1);
echo "$rest <br>";

//length가 음수일 경우
$rest=substr("abcdef", 1, -1);
echo "$rest <br>";
?>

☞ trim 함수

      

구문 : string trim(string str)
기능 : 문자열의 시작과 끝의 공백을 없앤다.

인자로 주어진 문자열의 맨 앞과 맨 끝의 공백을 지우고 리턴합니다.

<파일명 : ex42.php>

<?
$str="\t 앞과 뒤쪽의 탭과 공백이 있는 문자\t  ";
echo "trim 사용 전 : $str <br>\n";
$str=trim($str);
echo "trim 사용 후 : $str <br>";
?>

 

(3) 정규표현형식 관련 함수

☞ ereg 함수

      

구문 : int ereg(string pattern, string string, array [regs])
기능 : 일치하는 문자열을 찾는다.

두 번째 인자(문자열)에서 첫 번째 인자(패턴)를 찾습니다. 패턴에 괄호가 포함되어 있으면 세 번째 인자를 필요로 합니다. 일치된 패턴이 세 번째 인자인 배열로 차곡차곡 들어갑니다.

예를 들어, 첫 번째 괄호와 일치된 문자열은 $regs[1] 안에 들어가고, 두 번째 괄호와 일치된 문자열은 $regs[2]에 들어갑니다. $regs[0]에는 두 번째 인자 전체가 들어가 있습니다.

<파일명 : ex43.php>

<?
//YYYY-MM-DD 형식의 날짜를 DD.MM.YYYY 형식으로 출력하는 예제
$date=date("Y-m-d", time());

if (ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
   echo "$regs[3].$regs[2].$regs[1]";
} else {
   echo "잘못된 데이터 형식입니다.: $date";
}
?>

☞ eregi 함수

      

구문 : int eregi(string pattern, string string, array [regs])
기능 : 대소문자 구분 없이 일치하는 문자열을 찾는다.

ereg()와 똑같습니다. 차이점은 대소문자 구별을 하지 않습니다.
두 번째 인자(문자열)에서 첫 번째 인자(패턴)를 찾습니다. 패턴에 괄호가 포함되어 있으면 세 번째 인자를 필요로 합니다. 일치된 패턴이 세 번째 인자인 배열에 차곡차곡 들어갑니다.
예를 들어, 첫 번째 괄호와 일치된 문자열은 $regs[1] 안에 들어가고, 두 번째 괄호와 일치된 문자열은 $regs[2]에 들어갑니다. $regs[0]에는 두 번째 인자 전체가 들어가 있습니다.

☞ ereg_replace 함수

      

구문 : string ereg_replace(string pattern, string replacement, array string)
기능 : 일치하는 문자열을 찾아 바꾼다.

문자열(string)에서 패턴(pattern)을 찾아 바꿀문자(replacement)로 바꾼 후에 리턴합니다. 일치하는 패턴(pattern)이 없으면 원래의 문자열을 리턴합니다.

패턴(pattern)에는 괄호를 사용할 수 있습니다. 맨 바깥쪽 괄호부터 괄호 전체를 1,2,...로 생각하면 됩니다.

<파일명 : ex44.php>

<?
$string="This is a test";
echo ereg_replace(" is", " was", $string) . "<br>\n";
echo ereg_replace("( )is", "\\1was", $string) . "<br>\n";
echo ereg_replace("(( )is)", "\\2was", $string) . "<br>\n";
?>

☞ eregi_replace 함수

      

구문 : string eregi_replace(string pattern, string replacement, array string)
기능 : 일치하는 문자열을 찾아 바꾼다.

문자열(string)에서 패턴(pattern)을 찾아 바꿀문자(replacement)로 바꾼 후에 리턴합니다. 일치하는 패턴(pattern)이 없으면 원래의 문자열을 리턴합니다.
ereg_replace()함수와 같은 기능입니다. 단지 차이는 대소문자를 무시한다는 것입니다.

☞ split 함수

      

구문 : string split(string pattern, string string, int [limit])
기능 : 정규 표현식을 사용하여 문자열을 나눈 후 배열로 저장한다.

패턴(pattern)으로 준 첫 번째 인자가 구분자가 되어 두 번째 인자의 문자열을 나누어 배열로 리턴합니다. 오류가 발생하면 false를 리턴합니다.

limit는 나누어 저장할 문자열의 개수이며, 생략 가능합니다. 주의할 점은 패턴(pattern)으로 앞에서부터 나누어집니다. limit보다 뒤에 있는 문자열들은 나눠지지 않고 마지막 배열에 들어갑니다.

<파일명 : ex45.php>

<?
$date="04/30/1998";
list($month, $day, $year)=split("[/.-]", $date);
echo "Month: $month; Day: $day; Year: $year";
?>

(4) 배열 관련 함수

☞ array 함수

      

구문 : array array(...)
기능 : 배열을 만든다.

....부분에 매개변수가 들어갑니다.

매개변수는 '=>' 연산자를 이용하여 배열 인덱스에 넣을 수도 있습니다. 즉 array(키 => 값);

<파일명 : ex46.php>

<?
$fruits=array("fruits" => "orange", "numbers" => 1);

echo "fruits value = " . $fruits["fruits"] . "<br>";
echo "fruits numbers = " . $fruits["numbers"] . "<br>";
?>

☞ count 함수

      

구문 : int count(mixed var)
기능 : 변수가 가지고 있는 값들의 수를 리턴한다.

주로 배열변수를 대상으로 합니다. 여기서 그냥 변수라고 한 것은 어느 변수든디 한가지 값은 가지고 있기 때문입니다.

변수가 배열이 아닐 경우 1을 리턴합니다.(배열변수가 아니면 그냥 한가지 값을 가집니다.)

변수가 정의되지 않았을 경우 0을 리턴합니다.

[참고] 변수가 정의되지 않았을 경우 0을 리턴하지만, 배열변수가 공백으로 정의되었을 경우에도 0이 리턴됩니다. 변수가 정의되었는지 확인하려면 isset()함수를 사용합니다.

<파일명 : ex47.php>

<?
$fruits = array("fruits" => "orange", "numbers" => 1);
$array = array("a", "b", "c", "d", "e");

echo "fruits 배열의 개수 = " . count($fruits) . "<br>";
echo "array 배열의 개수 = " . count($array);
?>

☞ each 함수

      

구문 : array each(array array)
기능 : 배열에서 현재 포인터가 가리키고 있는 키 값과 값을 리턴한다.

배열 내부 포인터가 가리키고 잇는 키와 값을 리턴한 후 포인터는 다음 요소를 가르키게 됩니다.

실행하면 4개의 요소를 가진 배열로 리턴을 하는데 0과 key는 키 값을 가지고 있고, 1과 value는 값을 가지고 있습니다.

<파일명 : ex48.php>

<?
$fruits = array("fruits" => "orange", "numbers" => 1);
$result=each($fruits);
echo "key = $result[0], value = $result[1] <br>";
list($key, $value)=each($fruits);
echo "key = $key, value = $value <br>";
?>

☞ list 함수

      

구문 : void list(...)
기능 : 변수들을 배열처럼 쓸 때 사용한다.

array()와 마찬가지로 변수들을 배열처럼 쓸 때 사용합니다.

☞ sizeof 함수

      

구문 : int sizeof(array array)
기능 : 배열의 크기를 구한다.

배열 요소의 개수를 리턴합니다. count()와 같습니다.

<파일명 : ex49.php>

<?
$array=array("shellfish", "wheat", "stock");
$num1=count($array);
echo "count = " . $num1 . "<br>";
$num2=sizeof($array);
echo "sizeof = " . $num2 . "<br>";
?>

☞ sort 함수

      

구문 : void sort(array array)
기능 : 배열을 정렬한다.

배열 값들을 정렬합니다.

<파일명 : ex50.php>

<?
$fruits=array("lemon", "orange", "banana", "apple");
sort($fruits);
for ($i=0, $max=count($fruits); $i<$max; $i++) {
   echo "fruits[$i] = " . $fruits[$i] . "<br>";
}
?>

Posted by 다오나무