배열 반복에 관한 질문입니다.
본문
$arr = [1,2,3,4,5];
$cnt=count($arr);
for($i=0;$i<20;$i++){
echo $arr[$cnt];
}
결과 값 = [1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5]
이렇게 배열의 커서가 처음므로와서 for 반복이 20까지 출력하고 싶습니다.
방법을 몰라서 고수님들께 문의 드립니다.
답변 4
$arr = [1,2,3,4,5];
$i=0;
while($i<20){
$arr2[$i] = $arr[$i%5];
$i++;
}
echo implode(",", $arr2);
$arr = [1,2,3,4,5];
$cnt=count($arr);
echo "[";
for($i=0;$i<20;$i++){
foreach($arr as $key => $value) {
echo $value;
echo ",";
}
echo " ";
}
echo "]";
와 같이하면
20번반복되는 $arr 값을 출력할수있습니다.
!-->빠른 답변에 감사 드립니다.
결과 값이 1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5 이렇게 20개만 출력하고 싶습니다.
배열의 커서가 0으로 돌아가서 다시 출력되면서 9이면
1,2,3,4,5,1,2,3,4 까지만 출력 하고 싶습니다.
예을 들어 숫자가 진행되면서 월, 화, 수, 목, 금, 토 ,일 이 계속 반복되어 날짜 옆에 함수 사용하지 않고
출력하는 결과물을 원합니다.
보내주신 출력 결과물
[1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, ]
보내 주신 결과물에서의 마지막 부분의 쉼표 (,) 삭제 방법도 부탁드립니다.
5개의 배열을 20회 반복하게 해놨습니다만
5개의 배열값을 4회만 반복하면되겠네요
그리고, 마지막 20회가 되는 경우에는 ,를 출력하지 않으면 됩니다.
조금다르게 구성하면
$arr = [1,2,3,4,5];
$cnt=count($arr);
$str = " [ ";
for($i=1;$i<=4;$i++){
for ($j = 1; $j <= $cnt; $j++) {
$str .= $arr[($j-1)];
if ($i * j < 20)
$str .= ",";
}
str .= " ";
}
str .= "]";
echo $str."<BR>";
!-->