Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

쟝이의 세상

php <문자열 출력 echo, 연산자, 변수, 조건문 if> 본문

수업내용

php <문자열 출력 echo, 연산자, 변수, 조건문 if>

zyangee 2024. 8. 28. 17:39

**

웹 서버와 연동하여 php를 사용하는 것이기 때문에 "http://(VM)컴퓨터의 IP주소/php파일이름" 접속하여 출력 값 확인

-> php파일은 기본 문서파일을 읽는 C:\inetpub\wwwroot 폴더에 저장

**

문자열 출력 echo

<?php ~ ?> : php 시작 ~ 끝
echo : 출력
echo " "; : "(큰따옴표) 사이 문자열 출력
echo ' '; : '(작은따옴표) 사이 문자열 출력
;(세미콜론) : 문장 마지막(끝)에는 항상 세미콜론으로 문장 종료
<?php
	echo "------------------<br>";
	echo "사과<br>";
	echo "오렌지<br>";
	echo "------------------<br>";
	ECHO "냥냥냥냥ㄴ얀얀야<br>";
	ECHO "------------------<br>";
	ECHO "사과<br>";
?>
  • 결과 값으로 출력되는 것을 보아 php 언어는 대소문자를 따로 구분하지 않음을 알 수 있다.

 

<?php
	echo "이 문장은 출력된다.";
	echo "<img src='logo.png'>";
	echo "<img src=\"logo.png\">";
?>
  • 문자열은 큰따옴표까지가 명령의 끝으로 생각하므로 내부의 큰 따옴표는 작은 따옴표로 대체
  • 전부 다 큰따옴표로 사용하고 싶을 경우 구분하고 싶은 큰따옴표 앞에 이스케이프 문자(\)를 넣어준다.

 

상수와 변수

  • 변수: 데이터를 담을 때마다 자료 타입이 변환된다 (보통 영문 소문자 또는 영문 소문자와 숫자로 구성)
    -> 자료 타입을 선언하지 않음. 자료가 입력되는 순간 자료 타입이 결정
    • 변수 사용 이유
      : 프로그램을 효율적으로 짜기 위함 -> 소스코드의 모든 내용 변경 없이 변수값만 바꿔주면 되므로
변수명
ex) $var, $age, $fee, $bus1, $taxi3

<< 잘못된 변수의 예 >>
: 한글, 맨 앞 숫자, 특수문자 사용 안됨 (예외: _(언더바))
ex)

$생일: 변수에 한글이 올 수 없음
$2day: 숫자가 맨 앞에 올 수 없음
$email@: 특수문자가 변수명으로 올 수 없음
$my-school: 사칙연산의 빼기(-)와 같으므로 사용할 수 없음
    -> 대신 언더바(_)는 사용 가능 : $my_school

 

# 연산자 이용하여 변수값 입력하기

<?php
	$kor=85;
	$eng=90;
	$math=98;
	$soc=80;
	$sci=90;

	$sum=$kor+$eng+$math+$soc+$sci; //다섯 과목의 총점
	$avg=$sum/5;
	echo "국어: $kor, 영어: $eng, 수학: $math, 사회: $soc, 과학: $sci<br>";
	echo "총점: $sum, 평균: $avg";
?>

/*
국어: 85, 영어: 90, 수학: 98, 사회: 80, 과학: 90
총점: 443, 평균: 88.6
*/
<?php
	$child=5000;
	$adult=8000;
	$num_child=3;
	$num_adult=2;

	$child_sum=$child*$num_child;
	echo "어린이 입장료의 합계: $child_sum 원<br>";

	$adult_sum=$adult*$num_adult;
	echo "성인 입장료의 합계: $adult_sum 원<br>";

	$total=$adult_sum+$child_sum;
	echo "모두의 합계: $total";
?>

/*
어린이 입장료의 합계: 15000 원
성인 입장료의 합계: 16000 원
총 합계: 31000
*/
  • $변수명 뒤에 띄어쓰기 없이 "$child_sum원" 할 경우
    → 변수로 인식하여 오류가 남
  • $변수명 뒤에 띄어쓰기 하여 "$child_sum 원" 할 경우
    → 변수로 인식은 sum까지이기 때문에 오류나지는 않지만 띄어쓰기가 그대로 입력됨
  • {$변수명} 뒤에 바로 한글이 오면 띄어쓰기 없이 변수값과 한글이 오류없이 입력됨
※ echo문에서 변수 끝에 단위를 붙여서 출력문을 작성하면 오류가 남
- {}(중괄호)로 변수를 감싸 오류 해결

오류의 이유? 변수명이 어디까지인지 인식하지 못함

 

연산자

  • 산술 연산자: +, -, *, /, %(나머지연산자), ++(증가), --(감소)
<?php
//산술연산자 사용하기
	$a=7;
	$b=8;
	$a++;	//8
	$b--;	//7

	$b=$a*$b+2;	//b=58
	$c=$a+$b;	//c=66

	echo "1) a: $a, b: $b, c: $c<br>";

	$c=$a%$b;	//c=8
	echo "2) a: $a, b: $b, c: $c<br>";	

	$b=$a+2;	//b=10
	echo "3) a: $a, b: $b, c: $c<br>";	

	$a=$a*3;	//a=24
	echo "4) a: $a, b: $b, c: $c<br>";

	echo "5) a: $a, b: $b, c: $c";
?>

/*
1) a: 8, b: 58, c: 66
2) a: 8, b: 58, c: 8
3) a: 8, b: 10, c: 8
4) a: 24, b: 10, c: 8
5) a: 24, b: 10, c: 8
*/

 

  • 문자열 연결 연산자: .
<?php
//문자열 연결 연산자 사용
	$n1="010";
	$n2="2322";
	$n3="3233";
	$hp=$n1."-".$n2."-".$n3;
	
	echo "핸드폰번호: $hp";
?>

/*
핸드폰번호: 010-2322-3233
*/

 

  • 대입연산자: =, +=, -=, *=, /=, %=, .=(문자열 연결 대입 연산자)
    ex) $a += 2   //$a = $a + 2
          $a -= 2    //$a = $a - 2
          $a *= 2    //$a = $a * 2
          $a .= "@" //$a = $a."@"
<?php
//대입연산자 사용하기
	$a=5;
	echo $a."<br>";

	$a+=3;	//$a=$a+3 -> 8
	echo $a."<br>";

	$a-=4;	//$a=$a-4 -> 4
	echo $a."<br>";

	$a*=2; 	//$a=$a*2 -> 8
	echo $a."<br>";

	$a/=4;	//$a=$a/4 -> 2
	echo $a."<br>";

	$a%=2;	//$a=$a%2 -> 0
	echo $a."<br>";

	$a="오렌지";
	$a.="쥬스"; //$a=$a."쥬스" -> 오렌지쥬스
	echo $a."<br>";
?>

/*
5
8
4
8
2
0
오렌지쥬스
*/

 

  • 비교연산자 - 논리연산자와 함께 조건식에서 사용됨
    • ==: 같다
    • !=: 같지 않다
    • >: 크다
    • <: 작다
    • >=: 크거나 같다
    • <=: 작거나 같다
  • 논리연산자 - 비교연산자와 함께 조건식에서 사용됨
    • !: (not)아니다
    • &&: (and)~이면서
    • ||: (or)또는

 

조건문

조건문의 조건식에는 논리연산자와 비교연산자가 사용된다.
-> 조건식의 리턴 값은 항상 True or False

비교연산자: >, <, >=, <=, ==, !=
논리연산자: !(not), &&(and), ||(or)
  • if 문
    -> 기본형식 : if(조건식){ 코드1; 코드2; }
<?php
//지하철 요금 경로 우대를 처리하는 프로그램
	$age=68;
	$fee="2000원";
	
	if($age>=65){	//경로 우대
		$fee="무료";
	}
	echo "나이: {$age}세, 지하철 요금: {$fee}";
?>

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

 

  • if ~ else 문
    -> 기본형식: if(조건식) {코드1; 코드2;} else{코드3;}
<?php
//배수를 판별하는 프로그램
	$num=15;
	$besu=5;
	if($num % $besu == 0){
		echo "{$num}은 {$besu}의 배수이다.";
	} else{
		echo "{$num}은 {$besu}의 배수가 아니다.";
	}
?>

/*
15은 5의 배수이다.
*/
<?php
/* 운전먼허 시험 합격 여부 판정
필기: 70이상, 실기: 80이상, 도로주행: 90이상 
화면 출력: 필기, 실기, 도로주행 합격 기준 안내
if-else문 이용 */

	$first=80;
	$second=90;
	$final=90;

	$first_cut=70;
	$second_cut=80;
	$final_cut=90;

	echo "합격기준 안내: <br>";
	echo "필기점수 {$first_cut}점 이상,<br>";
	echo "실기점수 {$second_cut}점 이상,<br>";
	echo "도로주행점수 {$final_cut}점 이상이어야 합격입니다.<br><br>";

	echo "<b>본인 점수 확인: </b><br>";
	echo "필기: {$first}점, 실기: {$second}점, 도로주행: {$final}점<br>";

	if($first >= 70 && $second >= 80 && $final >= 90){
		echo "<b>합격입니다.</b>";
	} else{
		echo "<b>불합격입니다.</b>";
	}
?>

/*
합격기준 안내:
필기점수 70점 이상,
실기점수 80점 이상,
도로주행점수 90점 이상이어야 합격입니다.

본인 점수 확인:
필기: 80점, 실기: 90점, 도로주행: 90점
합격입니다.
*/

 

  • if ~ elseif ~ elseif ... else문 (다중 if문)
<?php
/* 점수에 따른 등급 출력
-> A+ ~ F
A+: 95~100
A: 90~94
B+: 85~89
...
F: 60점 미만 */

	$score=83;
	if($score>=95)
		$grade="A+";
	elseif($score>=90)
		$grade="A";
	elseif($score>=85)
		$grade="B+";
	elseif($score>=80)
		$grade="B";
	elseif($score>=75)
		$grade="C+";
	elseif($score>=70)
		$grade="C";
	elseif($score>=65)
		$grade="D+";
	elseif($score>=60)
		$grade="D";
	else
		$grade="F";
	echo "점수는 {$score}이고, 등급은 {$grade}입니다."
?>

/*
점수는 83이고, 등급은 B입니다.
*/
<?php
/* 무료입장: 3세미만
특별할인: 4000원 3-13세, 17시 10분 이후 입장객
할인: 8000원 14-18세, 70세 이상, 복지카드 소지자, 국가유공자증 소지자
일반: 10,000원 */

	$age=25;
	$bokji="no";
	$yougong="no";
	$after_1710="no";
	
	if($age<3)
		$price="무료";
	elseif(($age<=18 && $age>=14) || ($age>=70) || ($bokji=="yes") || ($yougong=="yes"))
		$price="8,000원";
	elseif(($age<=13 && $age>=3) || ($after_1710=="yes"))
		$price="4,000원";
	else
		$price="10,000원";

	echo "일반: 10,000원<br>";
	echo "할인: 8,000원<br>";
	echo "-> 대상: 14~18세, 70세 이상, 복지카드 소지자, 국가유공자증 소지자<br>";
	echo "특별할인: 4,000원<br>";
	echo "-> 대상: 3~13세, 17시 10분 이후 입장객<br>";
	echo "3세 미만의 아이들은 무료 입장입니다.<br>";
	echo "--------------------------------------------------------<br>";
	echo "당신의 입장료는 <b>{$price}</b>입니다.";
?>

/*
일반: 10,000원
할인: 8,000원
-> 대상: 14~18세, 70세 이상, 복지카드 소지자, 국가유공자증 소지자
특별할인: 4,000원
-> 대상: 3~13세, 17시 10분 이후 입장객
3세 미만의 아이들은 무료 입장입니다.
--------------------------------------------------------
당신의 입장료는 10,000원입니다.
*/

'수업내용' 카테고리의 다른 글

php <배열과 함수>  (2) 2024.09.02
php <조건문 switch, 반복문>  (0) 2024.08.29
<WIN2022 + PHP + SQL Server> 웹 데이터베이스 연동  (0) 2024.08.28
암호화 알고리즘  (0) 2024.08.26
전자상거래 보안  (0) 2024.08.26