웹 프로그래밍 및 실습 (web programming & practice) 유용한 php 함수 문양세...
DESCRIPTION
웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한 PHP 함수 문양세 강원대학교 IT 대학 컴퓨터과학전공. 문자열 (String) ( 1/4). 유용한 PHP 함수들. 문자열 저장. $str = “PHP 문자열” ;. 문자열 출력. . 문자열의 특정 부분 출력 (string_ele.php).TRANSCRIPT
웹 프로그래밍 및 실습(Web Programming & Practice)
유용한 PHP 함수
문양세강원대학교 IT 대학 컴퓨터과학전공
Web Program-mingby Yang-Sae Moon
Page 2
문자열 저장
문자열 (String) (1/4)유용한 PHP 함수들
$str = “PHP 문자열” ;
<?PHP $str = “PHP 문자열” ; print $str . “<br>”;?>
<? $str = "PHP 웹프로그래밍 "; print "str[4].str[5]: " . $str[4].$str[5] . "<br>";?>
문자열 출력
문자열의 특정 부분 출력(string_ele.php)
Web Program-mingby Yang-Sae Moon
Page 3
strtoupper()
• 문자열 str 을 대문자로 변환한 뒤 , 변환된 문자열을 리턴
문자열 (String) (2/4)유용한 PHP 함수들
strtolower()
• 문자열 str 을 소문자로 변환한 뒤 , 변환된 문자열을 리턴
string strtoupper (string str)
string strtolower (string str)
Web Program-mingby Yang-Sae Moon
Page 4
ucfirst()
• 문자열 str 의 첫 번째 문자를 대문자로 변환한 뒤 변환된 문자열을 리턴
문자열 (String) (3/4)유용한 PHP 함수들
ucwords()
• 문자열 str 에서 각각의 단어마다 첫 번째 문자를 대문자로 변환한 뒤 문자열을 리턴
string ucfirst (string str)
string ucwords (string str)
Web Program-mingby Yang-Sae Moon
Page 5
문자열 함수 사용 예 (to_func.php)
문자열 (String) (4/4)유용한 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>”;?>
Web Program-mingby Yang-Sae Moon
Page 6
URL (Uniform Resource Locator)• WWW 에서 원하는 ( 접근하고자 하는 ) 정보의 위치를 나타냄
URL 다루기 (1/3)유용한 PHP 함수들
parse_url()
• 문자열 url 에 저장된 값을 배열에 scheme, host, path, query 형식으로 리턴
• 예 : $url = “http://cs.kangwon.ac.kr/testurl.html?name=kim&age=28”scheme => httphost => cs.kangwon.ac.krpath => /testurl.htmlquery => name=kim&age=28
array parse_url (string url)
Web Program-mingby Yang-Sae Moon
Page 7
URL 다루기 (2/3)유용한 PHP 함수들
var_dump()
• 파라미터로는 어떠한 형식 (mixed) 의 expression 도 사용할 수 있음
• 여러 개의 변수의 정보를 알고자 하는 경우에도 사용할 수 있음
void var_dump (mixed expression [, mixed expression [, ...]])
parse_str()
• 변수 str 에 저장된 문자열을 변수와 값의 형태로 변환
void parse_str (string str)
Web Program-mingby Yang-Sae Moon
Page 8
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>";?>
Web Program-mingby Yang-Sae Moon
Page 9
역순의 문자열유용한 PHP 함수들
strrev()
• 주어진 문자열 str 의 순서를 반대로 바꾸고 그 바뀐 문자열을 리턴
예제 (strrev.php)
string strrev (string str)
<?PHP $str = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
$str1 = strrev ($str); print $str1 . “<br>”;?>
Web Program-mingby Yang-Sae Moon
Page 10
문자열 나누기 (1/2)유용한 PHP 함수들
substr()
• 문자열 str 의 start+1 번째 문자부터 length 만큼의 문자열을 선택하고 그 선택된 부분 문자열을 리턴
• 두 개 또는 세 개의 파라미터를 가질 수 있음
• 예를 들어 ,- substr ($str, 4) 를 호출하면 문자열 $str 의 5 번째 문자부터 문자열의 끝
문자까지의 부분 문자열을 리턴
- substr (“1234567890”, -5, 3) 를 호출하면 “ 678” 이 리턴
string substr (string str, int start [, int length])
Web Program-mingby Yang-Sae Moon
Page 11
문자열 나누기 (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>”;?>
Web Program-mingby Yang-Sae Moon
Page 12
문자열 공백 지우기 (1/2)유용한 PHP 함수들
rtrim() (equivalent to chop())
• 문자열 str 의 오른쪽에 있는 빈 공간을 삭제한 후 그 삭제된 문자열을 리턴
• 빈 공간에 속하는 문자
• ltrim() : 왼쪽에 있는 빈 공간을 삭제
• trim() : 문자열의 왼쪽과 오른쪽에 있는 빈 공간을 삭제
string rtrim (string str)
문자 ASCII 값 CHAR“ ” 32 Space“\t” 9 Tab (HT)“\n” 13 Newline“\r” 10 Return“\0” 0 NULL
“\x0B” 11 VT
Web Program-mingby Yang-Sae Moon
Page 13
문자열 공백 지우기 (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”;?>
Web Program-mingby Yang-Sae Moon
Page 14
기타 문자열 함수유용한 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()
Web Program-mingby Yang-Sae Moon
Page 15
날짜 변환 (1/4)유용한 PHP 함수들
getdate()
• 현재 시각 혹은 timestamp 에 해당하는 날짜와 시간으로 변환하여 배열로 리턴
• 파라미터가 없으면 현재 시각을 리턴
예제 (date.php)
array getdate ([int timestamp])
<? $seoul = getdate(); print " 현재시간 : ". $seoul[year] . " 년 ". $seoul[mon] . " 월 " . $seoul[day] . " 일 " . $seoul[hours] . " 시 " . $seoul[minutes] . " 분 ". $seoul[seconds] . " 초 <br>";?>
Web Program-mingby Yang-Sae Moon
Page 16
날짜 변환 (2/4)유용한 PHP 함수들
getdate() 함수가 리턴하는 배열 ( 의 원소 )
항 목 의 미
seconds 초
minutes 분
hours 시간
mday 일 ( 달 기준 )wday 숫자로 나타낸 요일 (0: 일요일 ~ 6: 토요일 )mon 숫자로 나타낸 달
year 연도
yday 연도의 시작으로부터 날
weekday 문자로 나타낸 요일 ( 예 . “Friday”)month 문자로 나타낸 달 ( 예 . “January”)
Web Program-mingby Yang-Sae Moon
Page 17
날짜 변환 (3/4)유용한 PHP 함수들
gmdate()
• 현재 시스템의 GMT 시간을 리턴• format 에 따라서 날짜 또는 시간 등을 문자열로 리턴• timestamp 는 1970 년 1 월 1 일부터 특정시간까지의 기간을 초로 환산
mktime()
• 파라미터로 넘겨 받은 hour, minute, second, month, day, year 를 time-stamp 값으로 변환
• is_dst 는 입력한 시간대가 낮 시간대이면 1, 그렇지 않으면 0 을 입력
string gmdate (string format [, int timestamp])
int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])
Web Program-mingby Yang-Sae Moon
Page 18
날짜 변환 (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>”;?>
Web Program-mingby Yang-Sae Moon
Page 19
윤년 계산유용한 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>”;?>
Web Program-mingby Yang-Sae Moon
Page 20
문자열 숫자 (1/4)유용한 PHP 함수들
두 정수 더하기 예제
• PHP 에서 숫자 표기의 한계를 12 자리 ( 혹은 14 자리 ) 로 제한했기 때문• 계산 결과가 13 자리의 수이기 때문에 자동적으로 숫자를 부동소수점
형식으로 변환• 임의의 정밀도를 갖는 계산을 하기 위해 bcadd(), bcsub(), bcmul() 등의
함수를 사용
<?PHP $num1 = 999999999999; $num2 = $num1 + 2;
print $num2 . “<br>”;?>
1E+12
Web Program-mingby Yang-Sae Moon
Page 21
문자열 숫자 (2/4)유용한 PHP 함수들
문자열 숫자를 다루는 계산 함수
• 각 함수에서 scale 은 소수점 아래 몇 번째 자리까지 계산할 지를 지정
string bcadd (string left, string right [, int scale])
string bcsub (string left, string right [, int scale])
string bcmul (string left, string right [, int scale])
string bcdiv (string left, string right [, int scale])
string bcmod (string left, string modulus)
string bcsqrt (string operand [, int scale])
string bcpow (string operand, string exp)
Web Program-mingby Yang-Sae Moon
Page 22
문자열 숫자 (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>”;?>
Web Program-mingby Yang-Sae Moon
Page 23
문자열 숫자 (4/4)유용한 PHP 함수들
값 계산하기• 급수를 이용하여 계산 (calc_pi.php)
)n(n
)(n
)/()/()/()/( 11 2
2222 11251241231221212
<?PHP function pi_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);?>
Web Program-mingby Yang-Sae Moon
Page 24
문자열 숫자 (4/4)유용한 PHP 함수들
값 계산하기• 급수를 이용하여 계산 (calc_pi.php)
)n(n
)(n
)/()/()/()/( 11 2
2222 11251241231221212
<?PHP function pi_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);?>
Web Program-mingby Yang-Sae Moon
Page 25
난수 발생시키기 (1/2)유용한 PHP 함수들
mt_srand()
• 난수를 발생시키기 전에 seed 값을 지정
void mt_srand (int seed)
mt_rand()
• 난수를 생성• 파라미터에 아무런 값도 주지 않으면 , 0 부터 RAND_MAX 까지의 숫자
중에서 하나의 값을 임의로 선택하여 리턴• 파라미터에 min 과 max 를 주면 , min 부터 max 까지의 숫자 사이에서
하나의 값을 임의로 선택하여 리턴
int mt_rand (void)int mt_rand (int min, int max)
Web Program-mingby Yang-Sae Moon
Page 26
난수 발생시키기 (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>"; }?>
Web Program-mingby Yang-Sae Moon
Page 27
phpinfo() (1/2)
PHP 에 관한 정보를 표 형식으로 화면에 출력
출력 결과• PHP Core• XML, Standard, Session, MySQL• Apache Environment, HTTP Headers Information• PHP variables, PHP Licenses, . . .
<? // test.php phpinfo();?>
유용한 PHP 함수들
Web Program-mingby Yang-Sae Moon
Page 28
phpinfo() (2/2)유용한 PHP 함수들
Web Program-mingby Yang-Sae Moon
Page 29
상수 정의
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>”;?>
유용한 PHP 함수들