본문 바로가기
프로그래밍/PHP

PHP로 for문 달팽이 출력하기

by 완소루피 2018. 2. 10.
728x90
반응형


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].'&nbsp;&nbsp;&nbsp;&nbsp;';

echo sprintf("%02d", $arr[$row][$col]).'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

}

echo '<br>';

}

?>


$input 은 사용자가 얼마만큼 입력 받을 것인지 길이를 할당 받는 변수입니다

$arr에는 이차원 배열을 선언하였고

$multiply를 통하여 방을 만들었죠





그래서 저는 쭉 가다가 벽을 만나면

방향을 바꾸는 방법으로 달팽이를 출력했습니다!!


아래에 보시면 결과 화면을 보실 수 있습니다!!



처음에 달팽이를 출력하기 위해

여러 가지 많은 방법을 시도해보고 생각하면서

시간이 오래 걸리기도 했지만

여러분들도 조금만 더 생각해보시면

생각보다 간결하게 달팽이를 만드실 수 있을 거에요!!




728x90
반응형

'프로그래밍 > PHP' 카테고리의 다른 글

PHP에서 MySQL 연결하기  (0) 2017.05.28