php 기본문법

2022. 2. 4. 10:25Study/PHP&MySQL

 

1. echo / print

echo 와 print 는 스크린에 데이터를 출력하는 역할을 합니다. 둘의 차이점은 리턴값이 존재하느냐, 존재하지 않느냐인데

echo는 리턴값이 존재하지 않고, print는 리턴값이 존재하는 차이가 있습니다.

  • 괄호는 생략해서 사용할 수 있다.
  • 문자열/태그/자바스크립트 모두 처리 된다.
  • 문장의 마지막에 세미콜론 ;
  • print의 리턴값은 출력값이 존재하면 1을 리턴한다.

 

<?
    echo "반갑습니다.<br>";
    echo "행복한 하루 되세요!<br>";
    echo ("php의 기본문법을 익혀봅시다!<br>");

    print "반갑습니다.<br>";
    print ("php의 기본문법을 익혀봅시다!<br>");
?>

 

 

 

 

 

2. 주석

여러 줄을 주석처리 할 때는 /* */ 를 사용한다

<?
    // 이 프로그램은 주석문을 설명하는 프로그램이다. 이 줄은 주석처리를 의미한다.
    /* 여러줄을 주석처리할 때는 
    이와 같이 한다. */
    echo "이 문장은 출력된다.";
?>

 

 

 

 

 

3. 대/소문자

기본적으로 대/소문자를 구문하진 않지만, 대체적으로 소문자를 사용한다

<?
    echo "---------------------- <br>";
    echo "사과<br>";
    echo "오렌지<br>";
    echo "---------------------- <br>";
    ECHO "&^%$&*%&&%*&(*(<br>";
    ECHO "---------------------- <br>";
    ECHO "사과<br>";
    ECHO "오렌지<br>";
    ECHO "---------------------- <br>";
?>

 

 

 

 

 

4. 변수

달러 $ 문자로 선언하며, 가변형 변수 (숫자, 문자, true, false 모두 1개의 변수로 사용가능, 권장X)

<?
    $a = "자동차";
    echo "<br>";
    echo $a; // 자동차

    $a = "기차";
    echo "<br>";
    echo $a; // 기차

    $a = 1000;
    echo "<br>";
    echo $a; // 1000

    $a = true;
    echo "<br>";
    echo $a; // 1
?>

 

 

print함수는 리턴값이 존재하면 1을 출력한다.

<?
    $val = print "echo 는 출력문입니다.<br>";  //echo 는 출력문입니다.
    echo  '$val : '.$val.'<br>';  //$val : 1
?>

 

 

 

 

 

5. 문자열의 결합

php에서 문자의 결합은 .$변수. 또는 {$변수}로 한다. (큰 따옴표 안에서는 생략도 가능하다.)

<?
    $val = "홍길동";
    
    // 작은 따옴표
    echo  '이름은 : '.$val.'입니다.<br>';  //이름은 : 홍길동입니다.

    // 큰 따옴표
    echo  "이름은 : ".$val."입니다.<br>";  //이름은 : 홍길동입니다.

    // 큰 따옴표 안에서는 따옴표를 생략할 수 있다. (띄어쓰기 유의)
    echo  "이름은 : $val 입니다.<br>"; // 이름은 : 홍길동 입니다.

    // 작은 따옴표 안에서는 변수도 문자열로 인식한다.
    echo  '이름은 : $val 입니다.<br>'; // 이름은 : $val 입니다.

    // {변수} 문법
    echo  "이름은 : {$val}입니다.<br>"; // 이름은 : 홍길동입니다.
?>

 

 

 

 

 

연산

+ / 

<?
    $kor = 85;   	// 국어 점수
    $eng = 90;  	// 영어 점수
    $math = 98;  	// 수학 점수
    $soc = 80;  	// 사회 점수
    $sci = 90;   	// 과학 점수

    $sum = $kor + $eng + $math + $soc + $sci; 	// 5과목의 합계 구하기

    $avg = $sum / 5;

    echo "국어 : $kor, 영어 : $eng, 수학 : $math, 사회 : $soc, 과학 : $sci <br>";
    echo "합계 : $sum, 평균 : $avg";

    /*
        국어 : 85, 영어 : 90, 수학 : 98, 사회 : 80, 과학 : 90
        합계 : 443, 평균 : 88.6
    */
?>

 

* 는 + 보다 연산순위가 높다

<?
    $child = 5000;     	// 청소년 입장료 5,000원
    $adult = 8000;		// 성인 입장료 8,000원
    $num1 = 3;		// 청소년 3매
    $num2 = 2;		// 성인 2매

    $total = $child * $num1 + $adult * $num2;

    echo "청소년 입장료 : {$child}원<br>";
    echo "성인 입장료 : $adult 원<br>";
    echo "청소년 : $num1 매, 성인 : $num2 매<br>";
    echo "전체 입장료 : $total 원";

    /*
        청소년 입장료 : 5000원
        성인 입장료 : 8000 원
        청소년 : 3 매, 성인 : 2 매
        전체 입장료 : 31000 원
    */
?>

 

 

 

 

 

산술연산자

<?
    $a = 7;
    $b = 8;

    $a++;
    $b--;

    $b = $a * $b + 2;
    $c = $a + $b;

    echo "a : $a, b : $b, c : $c<br>"; // a : 8, b : 58, c : 66

    $c = $a % $b;
    $b = $a + 2;
    $a = $a * 3;

    echo "a : $a, b : $b, c : $c"; // a : 24, b : 10, c : 8
?>

 

 

 

 

 

문자열 연결 연산자

<?
    $n1 = "010";
    $n2 = "2322";
    $n3 = "3233";

    $hp = $n1."-".$n2."-".$n3;

    echo "휴대폰 번호 : $hp"; // 휴대폰 번호 : 010-2322-3233
?>

 

 

 

 

 

대입연산자

<?
  	$a = 5;	          	  // $a 에 5 값을 대입	
     	echo $a."<br>";
   	
	$a += 3;                  // $a = $a + 3 와 동일
    	echo $a."<br>";
  
	$a -= 4;                  // $a = $a - 4 와 동일
     	echo $a."<br>";

   	$a *= 2;                  // $a = $a * 2 와 동일
     	echo $a."<br>";
   
	$a /= 4;                  // $a = $a / 4 와 동일
     	echo $a."<br>";
   
	$a %= 2;                  // $a = $a % 2 와 동일
     	echo $a."<br>";

   	$a = "오렌지";
   	$a .= " 주스";            // $a = $a." 주스" 와 동일
	echo $a."<br>";


    /*
        5
        8
        4
        8
        2
        0
        오렌지 주스
    */
?>

 

 

 

 

 

if문

<?
    $age = 68;
    $fee = "2,000원";
        
    if ($age>=65){
        $fee = "무료";
    }

    echo "나이 : $age 세, 지하철 요금 : $fee";

    /*
        나이 : 68 세, 지하철 요금 : 무료
    */
?>

 

&& (참참참)

<?
    $pilgi = 65;
    $silgi = 90;
    $result = "불합격";

    if($pilgi >= 70 && $silgi >= 80 ){
        $result = "합격";
    }

    echo "필기 점수 : $pilgi, 실기 점수 : $silgi<br>";
    echo "결과 : $result";
    
    /*
        필기 점수 : 65, 실기 점수 : 90
        결과 : 불합격
    */
 ?>

 

|| (거짓거짓거짓)

<?
    $pilgi = 95;
    $silgi = 55;
    $result = "합격";

    if($pilgi < 70 || $silgi < 80 ){
        $result = "불합격";
    }

    echo "필기 점수 : $pilgi, 실기점수 : $silgi<br>";
    echo "결과 : $result";

    /*
        필기 점수 : 95, 실기점수 : 55
        결과 : 불합격
    */
?>

 

if ~ else

<?
    $num = 80;

    if ($num%2==0){
        echo "$num : 짝수";
    } else {
        echo "$num : 홀수";	
    }

    /* 80 : 짝수 */
?>
<?
    $besu = 5;               // 대상 숫자
    $num = 15;		// 5의 배수인지를 판별하고자 하는 대상 숫자

    if ($num % $besu == 0){
        echo "$num 은(는) $besu 의 배수다.";
    } else {
        echo "$num 은(는) $besu 의 배수가 아니다.";	    
	}

    /* 15 은(는) 5 의 배수다. */
?>

 

실행문이 한 줄 일 때 { } 생략 가능.

<?
   // 다이어트가 필요한지 판별 : 몸무게가 (키 - 100) * 0.9 보다
   // 크면 다이어트 필요

    $h = 170;
    $w = 40;
    $a = ($h-100)*0.9;

    echo "키 : $h <br>";
    echo "몸무게 : $w <br>";

    if ($w>$a)
        echo "다이어트가 필요할지도 모르겠군요.<br>";
    else 
        echo "다이어트가 필요하지 않군요.<br>";

    /*
        키 : 170
        몸무게 : 40
        다이어트가 필요하지 않군요.
    */
?>

 

php문 안에서 echo를 이용해 자바스크립트를 사용할 수 있다.

<?
    $h = 170;
    $w = 40;
    $a = ($h-100)*0.9;

    echo "키 : $h <br>";
    echo "몸무게 : $w <br>";

    if ($w>$a){
        echo "<script>
        alert('다이어트가 필요할지도 모르겠군요.');
        </script>";
    }else{ 
        echo "<script>
        alert('다이어트가 필요하지 않군요.');
        </script>";
    }

    /*
        (alert 창) 다이어트가 필요하지 않군요.
        키 : 170
        몸무게 : 40
    */
?>

 

제어문 (조건문, 반복문)과 함께 사용될 때 실행코드만 php코드 밖으로 빼 태그로 표현할 수 있다.

<?
    $h = 170;
    $w = 40;
    $a = ($h-100)*0.9;

    echo "키 : $h <br>";
    echo "몸무게 : $w <br>";

    if ($w>$a){
?>
    <p>다이어트가 필요할지도 모르겠군요.</p>
<? }else{ ?> 
    <p>다이어트가 필요하지 않군요.</p>
<?
    }

    /*
        키 : 170
        몸무게 : 40
        다이어트가 필요하지 않군요.
    */
?>

 

 

<?
    $test1 = 70;	// 획득한 필기 점수
    $test2 = 80;	// 획득한 실기 점수
    $test3 = 87;	// 획득한 도로주행 점수

    $test1_cut = 70;		// 필기 기준 점수
    $test2_cut = 80;		// 필기 기준 점수
    $test3_cut = 90;		// 필기 기준 점수

    echo "운전면허 시험 합격 기준은<br>";
    echo "필기 점수 $test1_cut 점 이상,<br>";
    echo "실기 점수 $test2_cut 점 이상,<br>";
    echo "도로주행 점수 $test3_cut 점 이상입니다.<br><br>";

    echo "획득한 필기 점수 : $test1 점, 실기 점수 : $test2 점, 도로주행 점수 : $test3 점<br><br>";

    if ( ($test1 >= $test1_cut) && ($test2 >= $test2_cut) && ($test3 >= $test3_cut) )
        echo "합격하셨습니다!!!";
    else	
        echo "죄송하지만 불합격입니다!!!";

    /*
        운전면허 시험 합격 기준은
        필기 점수 70 점 이상,
        실기 점수 80 점 이상,
        도로주행 점수 90 점 이상입니다.

        획득한 필기 점수 : 70 점, 실기 점수 : 80 점, 도로주행 점수 : 87 점

        죄송하지만 불합격입니다!!!
    */
?>

 

 

 

 

 

switch문

<?
    /* 초등학교 급식비를 계산하는 프로그램
    1학년 : 3만 원
    2학년 : 3만5천 원
    3학년 : 4만 원
    4학년 : 4만5천 원
    5학년 : 5만 원
    6학년 : 5만5천 원
    */

    $a = 3;

    switch ($a){
    case 1 :
        echo "$a 학년 급식비 : 3만 원";
        break;
    case 2 :
        echo "$a 학년 급식비 : 3만5천 원";
        break;
    case 3 :
        echo "$a 학년 급식비 : 4만 원";
        break;
    case 4 :
        echo "$a 학년 급식비 : 4만5천 원";
        break;
    case 5 :
        echo "$a 학년 급식비 : 5만 원";
        break;
    case 6 :
        echo "$a 학년 급식비 : 5만5천 원";
        break;
    default :
        echo "학년을 잘못 입력했어요!!!";
        break;
    }

    // 3 학년 급식비 : 4만 원
?>

 

 

 

 

 

while문

<?
    $a=1;
    $sum=0;

    while($a<=10){
        $sum += $a;
        $a++;
    }

    echo("1에서 10까지 자연수의 합은 $sum 입니다.<br>");

    /* 1에서 10까지 자연수의 합은 55 입니다. */
?>

 

do while문

<?
    $i = 1;

    do{
        echo $i."<br>";
        $i++;
    } while ($i <= 10)

    /* 
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
    */
?>

 

 

 

 

 

for문

<?   
    $sum=0;

    for($a=1; $a<=10; $a++){
        $sum += $a;     
    }

    echo("1에서 10까지 자연수의 합은 $sum 입니다.<br>");

    /* 1에서 10까지 자연수의 합은 55 입니다. */
?>

 

게시판 목록 페이지 출력

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h3>▶ 게시판 목록보기</h3>
    
    <table border='1' width='600'>
        <tr bgcolor='#ccccc' align='center'>
            <td>번호</td>
            <td>제목</td>
            <td>글쓴이</td>
            <td>날짜</td>
        </tr>
        <?
            $num = 1;
            $name = "홍길동";
            $date = "2013/03/10";

            for($i=1; $i<=10; $i++){
                $title = "게시판 제목 ".$num;

                echo "<tr><td width='50' align='center'>$num</td><td>$title</td>
                <td width='50'>$name</td><td width='80'>$date</td></tr>";

                $num++;
            }
        ?>
    </table>
</body>
</html>

출력 결과물

 

 

 

 

게시판 목록 페이지 출력 2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h3>▶ 게시판 목록보기</h3>
    <table border='1' width='600'>
    <tr bgcolor='#ccccc' align='center'>
        <td>번호</td>
        <td>제목</td>
        <td>글쓴이</td>
        <td>날짜</td>
    </tr>
    <?
        $num = 1;
        $name = "홍길동";
        $date = "2013/03/10";

        for($i=1; $i<=10; $i++){
            $title = "게시판 제목 ".$num;
    ?>
    <tr>
        <td width='50' align='center'><?=$num?></td><td><?=$title?></td>
        <td width='50'><?=$name?></td><td width='80'><?=$date?></td>
    </tr>
    <? 
            $num++;
        }
    ?>
    </table>
</body>
</html>

 

구구단 표 출력

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h3>▶ 구구단 표</h3>
    <table border='1' width='600'>
        <tr bgcolor='#ccccc' align='center'>
            <td>2단</td>
            <td>3단</td>
            <td>4단</td>
            <td>5단</td>
            <td>6단</td>
            <td>7단</td>
            <td>8단</td>
            <td>9단</td>
        </tr>
        <?
            for($b=1; $b<=9; $b++)
            {
                echo "<tr align='center'>";

                for($a=2; $a<=9; $a++){
                    $c = $a * $b;

                    echo "<td>{$a}x{$b}=$c</td>";
                }
                
                echo "</tr>";
            }
        ?>
    </table>
</body>
</html>

 

 

 

 

 

 

'Study > PHP&MySQL' 카테고리의 다른 글

get / post  (0) 2022.02.08
form 유효성 검사  (0) 2022.02.07
php 배열과 함수  (0) 2022.02.04
XAMPP MySQL 새로운 계정 생성하기  (0) 2022.02.03
[PHP] 특정 IP 에서만 노출  (0) 2021.03.10