답변 4개
채택된 답변
+20 포인트
5년 전
* 개발자는 정확해야 해요. 0~20은 21개입니다.
+ array_chunk() 함수를 이용하면, 간편하게 원하는 개수만큼 묶어서 처리할 수 있습니다.
- https://www.php.net/manual/en/function.array-chunk.php
- http://docs.php.net/manual/kr/function.array-chunk.php
</p>
<p>$data = array_chunk($arr, 20);</p>
<p>foreach ( $data as $key=>$group ) {
// $key는 0, 1, 2, ...
// $group은 20개씩 그룹지어진 배열
foreach ( $group as $k=>$v ) {
// $k는 0, 1, 2, ..., 18, 19
// $v는 개별 값
}
}</p>
<p>// 이 정도면 조건문을 추가해 첫 번째 그룹, 두 번째 그룹 등 그룹별로 동작을 다르게 할 수 있겠죠?</p>
<p> </p>
<p>// 참고로 다른 방법도 남깁니다. 페이징 등 여러 곳에서 활용되는 방법이죠.</p>
<p>$group_no = 1; // 그룹 번호
$size = 20; // 개수
$offset = ($group_no-1)*$size; // 시작 위치
$limit = $offset + $size; // 끝 위치
for ($i=$offset; $i<$limit; $i++) {
if ( !isset($arr[$i]) ) break; // 배열 없으면 벗어나기. 위에서 시작 위치, 끝 위치를 미리 제한해도 Good!
// $arr[$i] 사용
}</p>
<p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
5년 전
</p>
<p>function viewArr($arr, $start, $end) {</p>
<p> for ($i=$start, $i <=$end; $i++) {</p>
<p> echo $arr[$i];</p>
<p> }</p>
<p>}</p>
<p> </p>
<p>$arr = array( 60개의 값이 존재한다고 가정);</p>
<p>viewArr($arr, 0, 20);</p>
<p>viewArr($arr, 21,40);</p>
<p>viewArr($arr, 41,60);</p>
<p> </p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
B
BiHon
5년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
+ array_slice()
- https://www.php.net/manual/en/function.array-chunk.php
- http://docs.php.net/manual/kr/function.array-slice.php
[code]
echo implode(', ', array_slice($arr, 0, 20)), '<br>'; // 키 0~19까지의 배열값
echo implode(', ', array_slice($arr, 20, 20)), '<br>'; // 키 20~39까지의 배열값
echo implode(', ', array_slice($arr, 40, 20)), '<br>'; // 키 40~59까지의 배열값
[/code]