쟝이의 세상
php <문자열 출력 echo, 연산자, 변수, 조건문 if> 본문
**
웹 서버와 연동하여 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 |