while문
1~10 출력
<?php
$i = 1;
while($i <= 10){
echo "$i<br>";
$i++;
}
?>
정수 1~10 합계 구하기
while문 안에서 $sum 정의하면 오류가 난다.
while 반복문 밖에 먼저 정의하자.
<?php
$i = 1;
$sum = 0;
while($i <= 10){
$sum += $i;
$i++;
}
echo $sum;
?>
정수 100~300 중 3의 배수 합계 구하기
while ( ) 괄호 안에있는 숫자 늘려주는 거 확인 !! $i++
모든 문장에 세미콜론 붙였는지 꼭 확인 !!
<?php
$i = 100;
$sum = 0;
while($i <=300){
if($i %3 ==0){
$sum += $i;
}
$i++;
}
echo $sum;
?>
<?php ?> 안에 html 태그 써서 결과 출력하려면 밑에와 같은 방식만 가능
<?php
echo "<p>안녕안녕</p>";
?>
정수 1~100 중 3의 배수가 아닌 정수 구하기
10개씩 끊어서 나오도록 한줄에 숫자 10개씩
<?php
//10개씩 정렬하기
$i = 1;
$count = 0;
while($i <=100){
if($i %3 !=0){
echo "$i ";
$count ++;
}
if($count % 10 == 0){
echo "<br>";
}
$i++;
}
?>
<?php
$i = 1;
$count=0;
while($i <=100){
if($i % 3 != 0){
echo $i." ";
$count++;
if($count % 10==0){
echo "<br>";
}
}
$i++;
}
?>
인치를 센티미터로 변환하기
10~100 인치이고 극간은 10
<tr>은 같은 행에 위치하도록
<th>는 <td>보다 글씨가 좀 두꺼워서 제목에
<?php ?> 안에 html 태그를 쓰려면 반드시 echo문하고 같이 써야 되고, " " 큰 따옴표 안에 써야 된다.
(ex) echo "<br>";
이게 헷갈린다면 html 태그를 <?php ?> 이 부분에 넣지 말고 그냥 빼서 사용해라.
<table>
<tr> <th> </th> </tr>
<tr><td></td></tr>
</table>
반복문 안에는 숫자 변환부분만 넣어야 한다.
하지만 이 경우에 빼서 사용하게 되면 반복문 돌릴 때마다 값이 기록되지 못하기 때문에 반드시 while문 안에 html 태그를 넣어야 한다.
<?php ?>안에 html 태그 넣어서 사용하는 경우 !!!! " " 큰 따옴표와 echo 문을 같이 사용하여야 한다!!
<?php
$id = "ididid";
$pass = 2222;
echo "<table><tr><th>$id</th></tr>
<tr><td>$pass </td></tr></table>";
?>
<?php ?>밖에 html 태그 넣어서 사용하는 경우 !!!! 변수 출력을 위해 php 축약형을 사용한다. <?= ?>
<?php
$id = "ididid";
$pass = 2222;
?>
<table>
<tr><th><?= $id ?></th></tr>
<tr><td><?= $pass ?></td></tr>
</table>
모두 같은 결과가 나온다는 것을 알 수 있다.
<table border="1">
<tr><td>인치</td><td>센티미터</td></tr>
<?php
$inch = 10;
while($inch <=100){
$cm = $inch * 2.54;
$inch =$inch +10;
}
?>
<tr> <td><?=$inch?></td><td><?=$cm?></td><tr>
</table>
<?php
//10개씩 정렬하기
$inch = 10;
echo '<table border=1>';
echo "<tr><th>인치</th><th>센티미터</th></tr>";
while($inch <= 100){
$cm = $inch*2.54 ;
echo "<tr><td>$inch</td><td>$cm</td></tr>";
$inch = $inch +10;
}
echo '</table>';
?>
2단 구구단 표 만들기
<h3>2단 구구단 표 만들기</h3>
<?php
$a = 2;
$b = 1;
echo '<table border=1>';
while($b <=9){
$result = $a*$b;
echo "<tr><td>$a x $b = $result </td></tr>";
$b++;
}
echo '</table>';
?>
td의 align='center'는 글자 정가운데로 정렬
table의 border='1'은 테두리 만들고 width='100'은 너비 지정
<h1>2단 구구단 표 만들기</h1>
<?php
$i = 1;
while($i <= 9)
{
$r = 2* $i;
echo "<table border='1' width='100'><tr><td align='center'> 2 x $i = $r </td></tr></table>";
$i++;
}
?>
for문
정수 1~10 출력
<?php
for($i = 1; $i <=10; $i++){
echo "$i <br>";
}
?>
정수 1~10 합계 구하기
$sum = 0; 초기화하는 부분 반드시 써줄 것!!!! for문이나 while문 모두 써줘야 함
<?php
$sum = 0;
for($i = 1; $i <=10; $i++){
$sum += $i;
}
echo $sum;
?>
1~100 중 5의 배수 합계 구하기
<?php
$sum = 0;
for($i = 1; $i <=100; $i++){
if($i % 5 ==0){
$sum +=$i;
}
}
echo $sum;
?>
500~700 중 4의 배수가 아닌 정수 출력하기
한 줄 당 숫자 10개씩
count 변수 위치 주의 !!!
<?php
$count = 0;
for($i = 500; $i <=700; $i++){
if($i % 4 !=0){
echo "$i ";
$count ++;
if($count % 10 ==0){
echo "<br>";
}
}
}
?>
<?php
$count = 0;
$ok = false;
for($i = 500; $i <=700; $i++){
if($i % 4 !=0){
echo $i." ";
$count ++;
$ok = true;
}
if($count !=0 && $count %10 == 0 && $ok ==true){
echo "<br>";
$ok = false;
}
}
?>
섭씨를 화씨로 변환
<?php ?> 안에서는 echo를 통해서만 html 태그를 출력할 수 있지만 밖에서는 그냥 출력됨
<?php
// PHP 태그 내에서는 echo를 사용하여 HTML 코드를 생성
echo "<h1>Hello, World!</h1>";
?>
<!-- PHP 태그 외부에서는 직접 HTML 코드를 작성 -->
<p>This is a paragraph outside PHP tags.</p>
<h3> 섭씨 -> 화씨 온도 변환 </h3>
<table border="1">
<tr><th>섭씨</th><th>화씨</th></tr>
<?php
for($c = -15; $c <=35; $c=$c+5){
$f = ($c * 9/5) +32;
echo "<tr><td>$c</td><td>$f</td></tr>";
}
?>
</table>
<h1>섭씨 -> 화씨 온도 변환</h1>
<table border='1' width="200">
<tr><th>섭씨</th><th>화씨</th></tr>
<?php
for($c = -15; $c <=35; $c+=5){
$f = ($c*9/5) +32;
echo "<tr align='center'><td>$c</td><td>$f</td></tr>";
}
?>
</table>
while문 버전
<h1>섭씨 -> 화씨 온도 변환</h1>
<table border='1' width="200">
<tr><th>섭씨</th><th>화씨</th></tr>
<?php
$c = -15;
while($c<=35){
$f = ($c*9/5) +32;
echo "<tr align='center'><td>$c</td><td>$f</td></tr>";
$c+=5;
}
?>
</table>
이중 for문
이중 for문으로 구구단 표 만들기 1
테이블 아니니깐 테이블과 관련한 <table> <tr> <th> <td> 쓸 필요 없음
<?php
echo "-------------<br>";
for($i= 2; $i<=9;$i++){
for($j=1;$j<=9;$j++){
$r = $i*$j;
echo "$i x $j = $r <br>";
}
echo "-------------<br>";
}
?>
이중 for문으로 구구단 표 만들기 2
다시 해보기 !!!!!!!!
<style >
table{
border-collapse: collapse;
width: 600px;
}
td{
border: solid 1px black;
}
</style>
<h2>- 구구단 표</h2>
<table>
<tr>
<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>
<?php
for($i= 1; $i<=9;$i++){
echo "<tr>";
for($j=2;$j<=9;$j++){
$r = $j*$i;
echo "<td>{$j}x{$i}= $r</td>";
}
echo "</tr>";
}
?>
</table>
tr 태그의 위치 중요하다. <td> 태그들을 한 행에 놔주는 게 tr 태그니깐!!!
<h1>구구단 표</h1>
<style>
table{
border-collapse: collapse;
}
</style>
<table border='1' width="700" >
<tr 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>
<?php
for($i = 1; $i <=9; $i++ ){
echo "<tr align='center'>";
for($j = 2; $j <=9; $j++){
$r = $j * $i;
echo "<td> $j x $i = $r </td>";
}
echo "</tr>";
}
?>
</table>
별표 그리기는 3단계로 코드 짜면 된다.
별, 공백, <br> 태그로 하나의 행이 구성됨 !!
1. 하나의 행을 출력하기 위한 코드 작성
2. 행의 개수만큼 for문으로 감싸기
3. 첫번째 행이 반복되면 원하는 결과가 아니므로 원하는 결과가 나오기 위해 바꾸어야 할 값들 바꾸기
<br> 태그는 띄어쓰기이고, 는 공백 넣을 때 쓰는 것!!!
별표 출력 1
<?php
for($i = 1; $i<=10; $i++){
for($j = 1; $j <=$i; $j++){
echo "*";
}
echo "<br>";
}
?>
별표 출력 2
<?php
for($m = 1; $m <=10; $m++){
//공백
for($i = 9; $i>=$m; $i--){
echo " ";
}
//별
for($j = 1; $j <=$m; $j++){
echo "*";
}
echo "<br>";
}
?>
별표 추가 문제
<?php
for($j = 1; $j <=10; $j ++){
for($i = 10; $i>=$j; $i--)
{
echo "*";
}
echo "<br>";
}
?>
<?php
for($m = 1; $m <=5; $m++){
//공백
for($i = 4; $i >=$m; $i--){
echo " ";
}
//별
for($j = 1; $j<=2*$m-1; $j++ ){
echo "*";
}
echo "<br>";
}
?>
<?php
for($m = 1; $m <=5; $m++){
//공백 0 -> 4까지 늘어남 !
for($j = 1 ; $j < $m ; $j++){
echo " ";
}
//별
for($i = 9; $i>=2*$m-1; $i--){
echo "*";
}
//다음줄
echo "<br>";
}
?>
do ~while문
정수 1~10의 합계 구하기
while( ) ; 세미콜론 주의 !!!!!!! 안 붙이면 오류 남
do {
// 실행 코드
} while (조건);
<?php
$i = 1;
$sum = 0;
do{
$sum+=$i;
$i++;
}while($i<=10);
echo $sum;
?>
조건식 확인하기 전에 루프 내의 문장 한번 더 실행해야 함
<?php
$i = 1;
do {
echo $i;
}while($i > 10);
?>
<?php
$i = 1;
while($i > 10){
echo $i;
}
?>
값 출력 xxx 조건 만족 안 하니깐
while문이 do-while문보다 훨씬 직관적이고 편리하다.
continue와 break는 둘 다 반복문을 중지시킨다.
break는 반복문을 완전히 중지
continue는 현재 진행되고 있는 반복의 흐름만 중지하고 반복문 자체는 지속
이중 for문은
바깥쪽 for문 1번 실행 -> 안쪽 for문 모두 실행
0 -> 0~9
1 -> 0~9
.....
연습 문제
01.
<?php
$num = 1;
while($num <=1000){
if($num %2 == 0)
echo $num." ";
$num++;
}
?>
02.
<?php
$count=0;
for($i = 100; $i<=500; $i++){
if($i % 2 == 0){
echo "$i ";
$count++;
if($count%2==0){
echo "<br>";
}
}
}
?>
03.
<?php
$i = 300;
$sum = 0;
while($i <=3000){
if($i % 2 ==1){
$sum +=$i;
}
$i++;
}
echo "300~3000 중 홀수의 합 : $sum";
?>
04.
<br> 태그!!!!!!
<?php
$sum = 0;
for($i = 100; $i <= 900; $i++){
if($i % 3!=0){
$sum+=$i;
echo "{$i}까지의 합 : $sum<br>";
}
}
?>
05.
<br> 태그
<?php
$result=1;
for($i=1;$i<=10;$i++){
$result*=$i;
echo "{$i}! = $result<br>";
}
?>
06.
<?php
$count=0;
for($i = 1; $i <= 500; $i++){
if($i % 5 ==0){
echo "$i ";
$count++;
if($count % 10 ==0){
echo "<br>";
}
}
}
?>
07.
<?php
echo "---------<br>";
echo "야드 미터<br>";
echo "---------<br>";
for($yard = 10; $yard <=300; $yard+=10){
$meter = $yard * 0.9144;
echo "$yard $meter<br>";
}
echo "---------<br>";
?>
08.
<style>
table{
border:1px solid black;
border-collapse:collapse;
width:200;
}
td{
border:1px solid black;
text-align:center;
}
</style>
<table>
<tr><td>야드</td><td>미터</td></tr>
<?php
for($yard = 10; $yard <=300; $yard+=10){
$meter = $yard * 0.9144;
echo "<tr><td>$yard</td><td> $meter</td></tr>";
}
?>
</table>
09.
<?php
echo "---------<br>";
echo "제곱미터 평<br>";
echo "---------<br>";
for($cm = 10; $cm<=200; $cm+=10){
$p = $cm*0.3025;
echo "$cm $p<br>";
}
echo "---------<br>";
?>
'웹프로그래밍' 카테고리의 다른 글
[PHP 프로그래밍 입문 8장] 쿠키와 세션 (1) | 2023.10.18 |
---|---|
[PHP 프로그래밍 입문 5장~6장] 배열과 함수 (0) | 2023.10.17 |
[PHP 프로그래밍 입문 7장] HTTP와 POST, GET 방식 (1) | 2023.10.16 |
[PHP 프로그래밍 입문 3장] 조건문 if문과 switch문 (0) | 2023.10.16 |
[PHP 프로그래밍 입문 2장] 기본 문법 (1) | 2023.10.16 |