-
PHP 기본 문법데이터베이스/SQL 2023. 12. 28. 17:02
PHP 코드의 확정명은 *.php로 사용
- php 기본 틀
<?php ?>
- php 주석
<?php // 한 줄 주석용 /* 여러 줄 주석용 */ ?>
- 변수와 출력
<?php $a = 100; print $a; $b = "안녕하세요? MariaDB"; echo $b; ?> // 실행 결과 100안녕하세요?MariaDB
PHP의 변수 이름은 몇 가지 규칙을 따라야 함
- 제일 앞에 $가 붙어야 함
- 문자와 숫자, 언더바(_)를 사용할 수 있지만 숫자로 시작할 수 없음
ex) $abc (O), $abc123 (O), $_abc123 (O), $123 (X), $123abc (X)
- 대소문자를 구별함 ex) $abc와 $ABC는 다른 변수
- 데이터 형식
PHP 데이터 형식은 정수(int), 실수(double), 문자열(string), 불형(boolean), 객체(object), 배열(array) 등이 있음
<?php $a = 123; echo gettype($a), "<br>"; $a = 123.123; echo gettype($a), "<br>"; $a = "MariaDB"; echo gettype($a), "<br>"; $a = true; echo gettype($a), "<br>"; $a = array( 1, 2, 3); echo gettype($a), "<br>"; ?>
- 문자열
문자열은 큰 따옴표 혹은 작은 따옴표를 사용해도 되지만 큰 따옴표로 묶고, 그 내부에 필요할 경우 작은 따옴표로 묶어주는 방식이 적절함
<?php $str1 = "이것이 MariaDB다<br>"; echo $str1; $str2 = 'PHP 프로그래밍<br>'; echo $str2; $str3 = "SELECT * FROM userTBL WHERE userID='JYP' "; echo $str3; ?>
- 조건문과 반복문
- if() 함수
조건식의 결과는 TRUE 또는 FALSE가 오는데 주로 비교 연산자인 ==, <>, <, >, <=, >= 등이 사용됨
<?php $a=100; $b=200; if($a > $b) { echo "a가 b보다 큽니다."; } else { echo "a가 b보다 작습니다."; } ?> // 실행 결과 a가 b보다 작습니다.
여러 개의 조건이 필요하다면 if ~ elseif를 사용할 수 있음
<?php $jumsu=83; if($jumsu >= 90) { echo "A학점"; } elseif($jumsu >= 80) { echo "B학점"; } elseif($jumsu >= 70) { echo "C학점"; } elseif($jumsu >= 60) { echo "D학점"; } else { echo "F학점"; } ?> // 실행 결과 B학점
- switch() 함수
if~elseif와 비슷하게 switch~case로 여러 개의 조건 처리 가능, default 부분은 생략 가능
형식 : switch(변수) { case 값1 : // 값1이면 이 부분을 처리 break; case 값2 : // 값2면 이 부분을 처리 break; ... default: // 아무것도 해당 안 되면 이 부분 처리 }
<?php $jumsu=83; switch(intval($jumsu / 10)) { case 10: //100점인 경우도 A학점 처리 case 9: echo "A학점"; break; case 8: echo "B학점"; break; case 7: echo "C학점"; break; case 6: echo "D학점"; break; default: echo "F학점"; } ?>
- for() 함수
형식 : for(초깃값 ; 조건식 ; 증감식) { // 반복할 부분 }
<?php for( $i=1; $i<=10 ; $i=$i+1 ) { echo $i, " "; } ?> // 실행 결과 1 2 3 4 5 6 7 8 9 10 <?php $hap=0; for( $i=123; $i<=456 ; $i=$i+2 ) { $hap = $hap + $i; } echo "123부터 456까지 홀수의 합계 : ", $hap; ?> // 실행 결과 123부터 456까지 홀수의 합계 : 48263
- while() 함수
형식 : while(조건식) { // 반복할 부분 } /* while문의 필수는 아니지만 초깃값과 증감식의 위치 파악 */ 형식 : 초깃값; while(조건식) { // 반복할 부분 증감식; }
<?php $hap=0; $i = 123; while( $i<=456 ) { $hap = $hap + $i; $i=$i+2; } echo "123부터 456까지 홀수의 합계 : ", $hap; ?> // 실행 결과 123부터 456까지 홀수의 합계 : 48263
- 배열
형식1 : $배열명 = array(값1, 값2, 값3 ...); 형식2 : $배열명 = range(시작값, 끝값, 증가값); // 증가값 생략 가능 형식3 : $배열명[0] = 값1; // 배열명 정의되어 있지 않아도 배열 생성됨 $배열명[1] = 값2; $배열명[2] = 값3; ...
<?php $myArray = array(100, 'MariaDB', 123.123); echo $myArray[0], " ", $myArray[1], " ", $myArray[2], "<br>"; $myArray = range(1,3); echo $myArray[0], " ", $myArray[1], " ", $myArray[2], "<br>"; $myArray = range(1,10,2); echo $myArray[0], " ", $myArray[4], "<br>"; $newArray[0] = 'This'; $newArray[1] = 'is'; $newArray[2] = 'MariaDB'; echo $newArray[0], " ", $newArray[1], " ", $newArray[2], "<br>"; ?>
<?php $hap = 0; $myArray = range(1, 10); for($i=0; $i<10; $i++) { $hap = $hap + $myArray[$i]; } echo "배열의 합계 : ", $hap; ?>
<?php $myArray = range(1, 10); echo "임의로 섞은 값 ==> "; shuffle($myArray); foreach($myArray as $data) echo $data, " "; echo "<br>오름차순 정렬 ==> "; sort($myArray); foreach($myArray as $data) echo $data, " "; echo "<br>내림차순 정렬 ==> "; rsort($myArray); foreach($myArray as $data) echo $data, " "; echo "<br>순서를 반대로 ==> "; $revArray = array_reverse($myArray); foreach($revArray as $data) echo $data, " "; ?>
- PHP 내장 함수
<?php $today = "현재는 ".date("Y-m-j")." 입니다."; echo $today, "<br>"; $ary = array(100, 50, 200, 7); echo "최대:", max($ary) ," 최소:", min(-123, 50, 999), "<br>"; echo pi(), " ", round(M_PI), " ",ceil(M_PI), "<br>"; $str = " This is MariaDB "; // 앞뒤 공백 3개씩 $str = trim($str); echo "#", $str, "#", "<br>"; echo "문자열 길이:", strlen($str), "<br>"; echo str_repeat("-", 30), "<br>"; echo str_replace( "MariaDB", "마리아디비", "This is MariaDB"), "<br>"; $ary = explode(" ", "This is MariaDB"); print_r($ary); echo "<br>"; // 배열 출력 echo implode($ary, " "), "<br>"; $myHTML = "<A href='www.hanbit.co.kr'> 한빛미디어 </A> <br>"; echo $myHTML; echo htmlspecialchars($myHTML); ?>
- HTML과 PHP 관계
- 데이터 전송 개념
// send.html 파일 <HTML> <HEAD> <META http-equiv="content-type" content="text/html; charset=UTF-8"> </HEAD> <BODY> <FORM METHOD="post" ACTION="receive.php"> 아이디 : <INPUT TYPE ="text" NAME="userID"> 이름 : <INPUT TYPE ="text" NAME="userName"> <BR><BR> <INPUT TYPE="submit" VALUE="전송"> </FORM> </BODY> </HTML>
// receive.php 파일 <?php $userID = $_POST["userID"]; $userName = $_POST["userName"]; echo "전달 받은 아이디 : ", $userID, "<br>"; echo "전달 받은 이름 : ", $userName, "<br>"; ?>
- post get 전달 방식
결과는 동일, 차이점은
post 방식의 결과는 주소창에 localhost/receive.php만 있지만
get 방식의 결과는 주소 뒤에 '?변수=값&변수=값' 방식으로 값이 전달됨
- HTML 문법으로만 구성된 파일의 확장명을 *.php로 저장해 사용해도 상관없음
<HTML> <HEAD> <META http-equiv="content-type" content="text/html; charset=UTF-8"> </HEAD> <BODY> <FORM METHOD="post" ACTION="receive.php"> 아이디 : <INPUT TYPE ="text" NAME="userID"> 이름 : <INPUT TYPE ="text" NAME="userName"> <BR><BR> <INPUT TYPE="submit" VALUE="전송"> </FORM> </BODY> </HTML>
ex) 위와 같은 파일도 확장자를 .html이 아닌 .php로 저장해도 오류 메시지가 뜨지 않고 잘 실행됨
'데이터베이스 > SQL' 카테고리의 다른 글
회원 관리 시스템 (0) 2023.12.29 PHP와 MariaDB 연동 (0) 2023.12.28 MariaDB 생성 및 Query Practice (0) 2023.12.21 XAMPP 설치 (0) 2023.12.14 SQL 고급 (0) 2023.11.09