배열 원소의 반복 질문 드립니다.
본문
$num = [1,2,3,4,5]
1, 2, 3, 4, 5
5, 1, 2, 3, 4
4, 5, 1, 2, 3
3, 4, 5, 1, 2
2, 1, 3, 4, 5
1, 2, 3, 4, 5
위 에서 처럼
마지막 부분의 배열의 원소가 앞으로 와서 한 칸씩 밀려 가면서
1부터 5까지가 반복되는 방법 부탁드립니다.
답변 3
$num = [1,2,3,4,5];
for($i=0; $i < sizeof($num); $i++){
$last_el = array_pop($num);
array_unshift($num, $last_el);
print_r($num);
}
참고로 다른 방법도 소개합니다.
$num = [1,2,3,4,5];
for ($i=0, $cnt=count($num); $i<=$cnt; $i++) {
for ($j=-$i; $j<$cnt-$i; $j++) {
$p = ($cnt+$j)%$cnt;
echo $num[$p], ' ';
}
echo '<br>';
}
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3
3 4 5 1 2
2 3 4 5 1
1 2 3 4 5
답변 감사 드립니다.
보내 주신 답변을 바탕으로 아래 처럼 해결 하였습니다.
<?php
$num = [1,2,3,4,5];
$cnt = count($num);
for($i=0;$i<$cnt;$i++){
for($j=0;$j<$cnt;$j++){
echo $num[$j];
}
echo "<br>";
$last_el = array_pop($num);
array_unshift($num, $last_el);
}
?>
답변을 작성하시기 전에 로그인 해주세요.