PHP로 for문 달팽이 출력하기
PHP에서
For문을 이용하여
달팽이 모양을 출력해보겠습니다!!
아래 소스 코드에
설명을 주석으로 달아두었습니다!!
<meta charset="utf-8">
<?php
//달팽이 최종
$input=9; //입력
$arr=array(array(), array());
$multiply=$input*$input; //방만들기
$num=1; //증가 수
$row=0; //행
$col=0; //열
$dir=1; //방향 바꾸기
$i=1; //방향 바꿀 벽
//echo $multiply;
while($num<=$multiply){ //증가수가 방만큼
$arr[$row][$col]=$num++;
if($dir==1){ //오른쪽으로 가기
$col++; //열증가
if($col==$input-$i){ //열이 끝에 도달
$dir=2; //방향 바꾸기
}
}else if($dir==2){ //오른쪽아래
$row++; //행증가
if($row==$input-$i){ //행이 끝에 도달
$dir=3; //방향 바꾸기
}
}else if($dir==3){ //아래
$col--; //왼쪽으로 이동
if($col==$i-1){ //열이 맨 왼쪽
$dir=4; //방향 바꾸기
}
}else if($dir==4){ //왼쪽 위
$row--; //행 감소->위로
if($row==$i){ //행이 i값까지 올라옴
$i++; //i증가 새로운 벽
$dir=1; //다시 오른쪽으로
}
}
}
//출력문
for($row=0; $row<$input; $row++){
for($col=0; $col<$input; $col++){
//echo $arr[$row][$col].' ';
echo sprintf("%02d", $arr[$row][$col]).' ';
}
echo '<br>';
}
?>
$input 은 사용자가 얼마만큼 입력 받을 것인지 길이를 할당 받는 변수입니다
$arr에는 이차원 배열을 선언하였고
$multiply를 통하여 방을 만들었죠
그래서 저는 쭉 가다가 벽을 만나면
방향을 바꾸는 방법으로 달팽이를 출력했습니다!!
아래에 보시면 결과 화면을 보실 수 있습니다!!
처음에 달팽이를 출력하기 위해
여러 가지 많은 방법을 시도해보고 생각하면서
시간이 오래 걸리기도 했지만
여러분들도 조금만 더 생각해보시면
생각보다 간결하게 달팽이를 만드실 수 있을 거에요!!
'프로그래밍 > PHP' 카테고리의 다른 글
PHP에서 MySQL 연결하기 (0) | 2017.05.28 |
---|