웹 프로그래밍 및 실습 (web programming & practice) 유용한 php 함수 문양세...

29
웹 웹웹웹웹웹 웹 웹웹 (Web Programming & Practice) 웹웹웹 PHP 웹웹 웹웹웹 웹웹웹웹웹 IT 웹웹 웹웹웹웹웹웹웹

Upload: ornice

Post on 16-Mar-2016

81 views

Category:

Documents


8 download

DESCRIPTION

웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한 PHP 함수 문양세 강원대학교 IT 대학 컴퓨터과학전공. 문자열 (String) ( 1/4). 유용한 PHP 함수들. 문자열 저장. $str = “PHP 문자열” ;. 문자열 출력. . 문자열의 특정 부분 출력 (string_ele.php).

TRANSCRIPT

Page 1: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

웹 프로그래밍 및 실습(Web Programming & Practice)

유용한 PHP 함수

문양세강원대학교 IT 대학 컴퓨터과학전공

Page 2: 웹 프로그래밍 및 실습 (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)

Page 3: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

Web Program-mingby Yang-Sae Moon

Page 3

strtoupper()

• 문자열 str 을 대문자로 변환한 뒤 , 변환된 문자열을 리턴

문자열 (String) (2/4)유용한 PHP 함수들

strtolower()

• 문자열 str 을 소문자로 변환한 뒤 , 변환된 문자열을 리턴

string strtoupper (string str)

string strtolower (string str)

Page 4: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

Web Program-mingby Yang-Sae Moon

Page 4

ucfirst()

• 문자열 str 의 첫 번째 문자를 대문자로 변환한 뒤 변환된 문자열을 리턴

문자열 (String) (3/4)유용한 PHP 함수들

ucwords()

• 문자열 str 에서 각각의 단어마다 첫 번째 문자를 대문자로 변환한 뒤 문자열을 리턴

string ucfirst (string str)

string ucwords (string str)

Page 5: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>”;?>

Page 6: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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)

Page 7: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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)

Page 8: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>";?>

Page 9: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>”;?>

Page 10: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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])

Page 11: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>”;?>

Page 12: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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

Page 13: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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”;?>

Page 14: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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()

Page 15: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>";?>

Page 16: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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”)

Page 17: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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])

Page 18: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>”;?>

Page 19: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>”;?>

Page 20: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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

Page 21: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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)

Page 22: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>”;?>

Page 23: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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);?>

Page 24: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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);?>

Page 25: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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)

Page 26: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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>"; }?>

Page 27: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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 함수들

Page 28: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

Web Program-mingby Yang-Sae Moon

Page 28

phpinfo() (2/2)유용한 PHP 함수들

Page 29: 웹 프로그래밍 및 실습 (Web Programming & Practice) 유용한  PHP  함수 문양세 강원대학교  IT 대학 컴퓨터과학전공

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 함수들