array array_chunk ( array $input , int $size [, bool $preserve_keys ] )
(PHP 4 >= 4.2.0, PHP 5)
배열을 size 크기만큼 조각으로 나누어 주며, preserve_keys 인자를 true로 설정하면 나누어진 조각인 키의 연속성을 가지게 합니다.
<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2, true));
?>
<?php
function array_chunk_vertical($data, $columns) {
$n = count($data) ;
$per_column = floor($n / $columns) ;
$rest = $n % $columns ;
$per_columns = array( ) ;
for ( $i = 0 ; $i < $columns ; $i++ ) {
$per_columns[$i] = $per_column + ($i < $rest ? 1 : 0) ;
}
$tabular = array( ) ;
foreach ( $per_columns as $rows ) {
for ( $i = 0 ; $i < $rows ; $i++ ) {
$tabular[$i][ ] = array_shift($data) ;
}
}
return $tabular ;
}
$data = array_chunk_vertical(range(1, 31), 7) ;
foreach ( $data as $row ) {
foreach ( $row as $value ) {
printf('[%2s]', $value) ;
}
echo "\r\n" ;
}
?>
<?php
$values = range(1, 31);
$rows = array_chunk($values, 7);
echo "<table>\n";
foreach ($rows as $row) {
echo "<tr>\n";
foreach ($row as $value) {
echo "<td>" . $value . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
?>