300 likes | 548 Views
웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한 PHP 함수 문양세 강원대학교 IT 대학 컴퓨터과학전공. 문자열 (String) ( 1/4). 유용한 PHP 함수들. 문자열 저장. $str = “PHP 문자열” ;. 문자열 출력. <?PHP $str = “PHP 문자열” ; print $str . “<br>”; ?>. 문자열의 특정 부분 출력 (string_ele.php). <? $str = "PHP 웹프로그래밍 ";
E N D
웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한 PHP 함수 문양세 강원대학교 IT대학 컴퓨터과학전공
문자열 (String) (1/4) 유용한 PHP 함수들 문자열 저장 $str = “PHP 문자열”; 문자열 출력 <?PHP $str = “PHP 문자열”; print$str . “<br>”; ?> 문자열의 특정 부분 출력(string_ele.php) <? $str = "PHP 웹프로그래밍"; print "str[4].str[5]: " . $str[4].$str[5] . "<br>"; ?>
문자열 (String) (2/4) 유용한 PHP 함수들 • strtoupper() • 문자열 str을 대문자로 변환한 뒤, 변환된 문자열을 리턴 stringstrtoupper (stringstr) • strtolower() • 문자열 str을 소문자로 변환한 뒤, 변환된 문자열을 리턴 stringstrtolower (stringstr)
문자열 (String) (3/4) 유용한 PHP 함수들 • ucfirst() • 문자열 str의 첫 번째 문자를 대문자로 변환한 뒤 변환된 문자열을 리턴 stringucfirst (stringstr) • ucwords() • 문자열 str에서 각각의 단어마다 첫 번째 문자를 대문자로 변환한 뒤 문자열을 리턴 stringucwords (stringstr)
문자열 (String) (4/4) 유용한 PHP 함수들 문자열 함수 사용 예 (to_func.php) <?PHP $str = “Apple Orange pEAr”; $str1 = strtoupper ($str); print$str1 . “<br>”; $str2 = strtolower ($str); print$str2 . “<br>”; $str3 = ucfirst ($str); print$str3 . “<br>”; $str4 = ucwords ($str); print$str4 . “<br>”; ?>
URL 다루기 (1/3) 유용한 PHP 함수들 • URL (Uniform Resource Locator) • WWW에서 원하는(접근하고자 하는) 정보의 위치를 나타냄 • parse_url() • 문자열 url에 저장된 값을 배열에 scheme, host, path, query 형식으로 리턴 • 예: $url = “http://cs.kangwon.ac.kr/testurl.html?name=kim&age=28” scheme => http host => cs.kangwon.ac.kr path => /testurl.html query => name=kim&age=28 arrayparse_url (stringurl)
URL 다루기 (2/3) 유용한 PHP 함수들 • var_dump() • 파라미터로는 어떠한 형식(mixed)의 expression도 사용할 수 있음 • 여러 개의 변수의 정보를 알고자 하는 경우에도 사용할 수 있음 voidvar_dump (mixedexpression [, mixedexpression [, ...]]) • parse_str() • 변수 str에 저장된 문자열을 변수와 값의 형태로 변환 voidparse_str (stringstr)
URL 다루기 (3/3) 유용한 PHP 함수들 URL 스트링 예제 (url_str.php) <? $str1 = "http://cs.kangwon.ac.kr/testurl.html?name=kim&age=28"; $str2 = parse_url ($str1); var_dump ($str2); print "<p>"; parse_str ($str2[query]); print "이름: ".$name.", 나이: ".$age."<br>"; ?>
역순의 문자열 유용한 PHP 함수들 • strrev() • 주어진 문자열 str의 순서를 반대로 바꾸고 그 바뀐 문자열을 리턴 stringstrrev (stringstr) 예제 (strrev.php) <?PHP $str = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”; $str1 = strrev ($str); print$str1 . “<br>”; ?>
문자열 나누기 (1/2) 유용한 PHP 함수들 • substr() • 문자열 str의 start+1 번째 문자부터 length 만큼의 문자열을 선택하고 그 선택된 부분 문자열을 리턴 • 두 개 또는 세 개의 파라미터를 가질 수 있음 • 예를 들어, • substr ($str, 4)를 호출하면 문자열 $str의 5번째 문자부터 문자열의 끝 문자까지의 부분 문자열을 리턴 • substr (“1234567890”, -5, 3)를 호출하면 “678”이 리턴 stringsubstr (stringstr, intstart [, intlength])
문자열 나누기 (2/2) 유용한 PHP 함수들 문자열 나누기 예제 (substr.php) <?PHP $str = “1234567890 abcdefghijklmnopqrstuvwxyz”; $str1 = substr ($str, 2, 5); print$str1 . “<br>”; $str2 = substr ($str, 8, 5); print$str2 . “<br>”; $str3 = substr ($str, 12, 8); print$str3 . “<br>”; $str4 = substr ($str, -9, 8); print$str4 . “<br>”; ?>
문자열 공백 지우기 (1/2) 유용한 PHP 함수들 • rtrim() (equivalent to chop()) • 문자열 str의 오른쪽에 있는 빈 공간을 삭제한 후 그 삭제된 문자열을 리턴 • 빈 공간에 속하는 문자 • ltrim() : 왼쪽에 있는 빈 공간을 삭제 • trim() : 문자열의 왼쪽과 오른쪽에 있는 빈 공간을 삭제 stringrtrim (stringstr)
문자열 공백 지우기 (2/2) 유용한 PHP 함수들 공백 문자 지우기 예제 (trims.php) <?PHP $str0 = “ Apple Banana Pear ”; $str1 = chop ($str0); print “start-” . $str1 . “-end<br>\n”; $str2 = rtrim ($str0); print “start-” . $str2 . “-end<br>\n”; $str3 = ltrim ($str0); print “start-” . $str3 . “-end<br>\n”; $str4 = trim ($str0); print “start-” . $str4 . “-end<br>\n”; ?>
기타 문자열 함수 유용한 PHP 함수들 • nl2br(string str): 문자열의 줄 바꿈 문자(\n)을 <br> 태그로 변경 • array explode(string separator, string input[, int limit])문자열 input을 분리자(separator)에 따라 분리하여, 분리된 문자열을 배열로 반환 (limit은 배열의 원소 개수를 제한) • implode(), join(): 문자열 배열을 하나의 문자열로 합침 • int strcmp(string str1, string str2): 두 문자열을 비교하여, 같으면 0을, 다르면 양수(str1 > str2) 혹은 음수(str1 < str2)를 리턴 • strcasecmp(): strcmp()와 같으나 대소문자를 구별치 않음 • strlen(): 문자열의 길이를 리턴 (예: strlen(“hello”)는 5를 리턴) • 기타 문자열 함수 • 문자열 내에서 문자열 찾기: strstr(), strchr(), strrchr(), stristr() • 문자열의 위치 찾아내기: strpos(), strrpos() • 문자열 대체하기: str_replace(), substr_repalce()
날짜 변환 (1/4) 유용한 PHP 함수들 • getdate() • 현재 시각 혹은 timestamp에 해당하는 날짜와 시간으로 변환하여 배열로 리턴 • 파라미터가 없으면 현재 시각을 리턴 • 예제 (date.php) arraygetdate ([inttimestamp]) <? $seoul = getdate(); print "현재시간: ". $seoul[year] . "년 ". $seoul[mon] . "월 " . $seoul[day] . "일 " . $seoul[hours] . "시 " . $seoul[minutes] . "분 ". $seoul[seconds] . "초<br>"; ?>
날짜 변환 (2/4) 유용한 PHP 함수들 getdate() 함수가 리턴하는배열(의 원소)
날짜 변환 (3/4) 유용한 PHP 함수들 • gmdate() • 현재 시스템의 GMT 시간을 리턴 • format에 따라서 날짜 또는 시간 등을 문자열로 리턴 • timestamp는 1970년 1월 1일부터 특정시간까지의 기간을 초로 환산 stringgmdate (stringformat [, inttimestamp]) • mktime() • 파라미터로 넘겨 받은 hour, minute, second, month, day, year를 timestamp 값으로 변환 • is_dst는 입력한 시간대가 낮 시간대이면 1, 그렇지 않으면 0을 입력 intmktime (int hour, intminute, intsecond, intmonth, intday, intyear [, intis_dst])
날짜 변환 (4/4) 유용한 PHP 함수들 gmdate(), mktime() 사용 예제 (date_func.php) <?PHP $year = gmdate (“Y”); $mon = gmdate (“m”); $day = gmdate (“d”); $hour = gmdate (“g”); $min = gmdate (“i”); $sec = gmdate (“s”); $seoul = getdate (mktime ($hour+9, $min, $sec, $mon, $day, $year)); print “서울 시간: “ . $seoul[year] . “년 “ . $seoul[mon] . “월 “ . $seoul[day] . “일 “ . $seoul[hours] . “시 “ . $seoul[minutes] . “분 “ . $seoul[seconds] . “초<br>”; $paris = getdate (mktime ($hour+1, $min, $sec, $mon, $day, $year)); print “파리 시간: “ . $paris[year] . “년 “ . $paris[mon] . “월 “ . $paris[day] . “일 “ . $paris[hours] . “시 “ . $paris[minutes] . “분 “ . $paris[seconds] . “초<br>”; ?>
윤년 계산 유용한 PHP 함수들 • 윤년 계산 방식 • 연도가 400으로 나누어지면 윤년이다. • 연도가 4로는 나눠지고 100으로 나눠지지 않으면 윤년이다. • 윤년 계산의 예제 (leap_year.php) <?PHP $year = 2000; if (($year % 400) == 0) print$year . “년은 윤년입니다.<br>”; else if (($year % 4) == 0) { if (($year % 100) != 0) print$year . “년은 윤년입니다.<br>”; else print$year . “년은 윤년이 아닙니다.<br>”; } else print$year . “년은 윤년이 아닙니다.<br>”; ?>
1E+12 문자열 숫자 (1/4) 유용한 PHP 함수들 • 두 정수 더하기 예제 • PHP에서 숫자 표기의 한계를 12자리(혹은 14자리)로 제한했기 때문 • 계산 결과가 13자리의 수이기 때문에 자동적으로 숫자를 부동소수점 형식으로 변환 • 임의의 정밀도를 갖는 계산을 하기 위해 bcadd(), bcsub(), bcmul() 등의 함수를 사용 <?PHP $num1 = 999999999999; $num2 = $num1 + 2; print$num2 . “<br>”; ?>
문자열 숫자 (2/4) 유용한 PHP 함수들 • 문자열 숫자를 다루는 계산 함수 • 각 함수에서 scale은 소수점 아래 몇 번째 자리까지 계산할 지를 지정 stringbcadd (stringleft, stringright [, intscale]) stringbcsub (stringleft, stringright [, intscale]) stringbcmul (stringleft, stringright [, intscale]) stringbcdiv (stringleft, stringright [, intscale]) stringbcmod (stringleft, stringmodulus) stringbcsqrt (stringoperand [, intscale]) stringbcpow (stringoperand, stringexp)
문자열 숫자 (3/4) 유용한 PHP 함수들 문자열 숫자의 예제 (num_scale.php) <?PHP $num1 = “77777777777777777777777777777777777.5555555555555555555555555”; $num2 = “22222222222222222222222222222222222.4444444444444444444444444”; $value = bcadd ($num1, $num2, 20); print “bcadd(num1, num2, 20): “ . $value . “<br>”; $value = bcsub ($num1, $num2, 20); print “bcsub(num1, num2, 20): “ . $value . “<br>”; $value = bcmul ($num2, “2”, 20); print “bcmul(num2, \”2\”, 20): “ . $value . “<br>”; $value = bcdiv ($num2, “2”, 10); print “bcdiv(num2, \”2\”, 10): “ . $value . “<br>”; ?>
문자열 숫자 (4/4) 유용한 PHP 함수들 • 값 계산하기 • 급수를 이용하여 계산 (calc_pi.php) <?PHP functionpi_func ($iteration, $scale) { $value = “0”; for ($i = 1; $i <= $iteration; $i++) { if (($i % 2) == 0) $value = bcsub($value,bcdiv(12,bcpow($i,2),$scale),$scale); else $value = bcadd($value,bcdiv(12,bcpow($i,2),$scale),$scale); } $pi_value = bcsqrt ($value, $scale); print (“PI: “ . $pi_value . “<br>”); } pi_func (10000, 50); pi_func (20000, 50); pi_func (30000, 50); ?>
문자열 숫자 (4/4) 유용한 PHP 함수들 • 값 계산하기 • 급수를 이용하여 계산 (calc_pi.php) <?PHP functionpi_func ($iteration, $scale) { $value = “0”; for ($i = 1; $i <= $iteration; $i++) { if (($i % 2) == 0) $value = bcsub($value,bcdiv(12,bcpow($i,2),$scale),$scale); else $value = bcadd($value,bcdiv(12,bcpow($i,2),$scale),$scale); } $pi_value = bcsqrt ($value, $scale); print (“PI: “ . $pi_value . “<br>”); } pi_func (10000, 50); pi_func (20000, 50); pi_func (30000, 50); ?>
난수 발생시키기 (1/2) 유용한 PHP 함수들 • mt_srand() • 난수를 발생시키기 전에 seed 값을 지정 voidmt_srand (intseed) • mt_rand() • 난수를 생성 • 파라미터에 아무런 값도 주지 않으면, 0부터 RAND_MAX까지의 숫자 중에서 하나의 값을 임의로 선택하여 리턴 • 파라미터에 min과 max를 주면, min부터 max 까지의 숫자 사이에서 하나의 값을 임의로 선택하여 리턴 intmt_rand (void) intmt_rand (intmin, intmax)
난수 발생시키기 (2/2) 유용한 PHP 함수들 난수 발생 예제 (rand_ex.php) <? mt_srand((double)microtime() * 1000000); for($i=0;$i < 10;$i++) { $random1 = mt_rand(); $random2 = mt_rand(1, 1000); print "random1 = ".$random1.", random2 = ".$random2."<br>"; } ?>
phpinfo() (1/2) 유용한 PHP 함수들 • PHP에 관한 정보를 표 형식으로 화면에 출력 • 출력 결과 • PHP Core • XML, Standard, Session, MySQL • Apache Environment, HTTP Headers Information • PHP variables, PHP Licenses, . . . <? // test.php phpinfo(); ?>
phpinfo() (2/2) 유용한 PHP 함수들
상수 정의 유용한 PHP 함수들 define() 함수 활용 사용 예제 (define.php) <?PHP define(“R2”, 1.4142135623731); define(“R3”, 1.7320508075689); $sum = R2 + R3; print “R2: “ . R2 . “<br>”; print “R3: “ . R3 . “<br>”; print “R2+R3: “ . $sum . “<br>”; ?>