[php] array_chunk 將陣列分割成多個陣列
(PHP 4 >= 4.2.0, PHP 5)
array_chunk() 將一個數組分割成多個數組,其中每個數組的單元數目由 size 決定。最後一個數組的單元數目可能會少幾個。得到的數組是一個多維數組中的單元,其索引從零開始。
將可選參數 preserve_keys 設為 TRUE,可以使 PHP 保留輸入數組中原來的鍵名。如果你指定了 FALSE,那每個結果數組將用從零開始的新數字索引。默認值是 FALSE。
範列:
<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
)
)
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[2] => c
[3] => d
)
[2] => Array
(
[4] => e
)
)
當PHP < 4.2.0 又要使用 array_chunk()可以使用下列替代函數
<?php
if (!function_exists('array_chunk')) {
function array_chunk( $input, $size, $preserve_keys = false) {
@reset( $input );
$i = $j = 0;
while( @list( $key, $value ) = @each( $input ) ) {
if( !( isset( $chunks[$i] ) ) ) {
$chunks[$i] = array();
}
if( count( $chunks[$i] ) < $size ) {
if( $preserve_keys ) {
$chunks[$i][$key] = $value;
$j++;
} else {
$chunks[$i][] = $value;
}
} else {
$i++;
if( $preserve_keys ) {
$chunks[$i][$key] = $value;
$j++;
} else {
$j = 0;
$chunks[$i][$j] = $value;
}
}
}
return $chunks;
}
}
?>
其它範例:
<?php
$values = range(1, 31);
$rows = array_chunk($values, 7);
print "<table>\n";
foreach ($rows as $row) {
print "<tr>\n";
foreach ($row as $value) {
print "<td>" . $value . "</td>\n";
}
print "</tr>\n";
}
print "</table>\n";
?>
Outputs:
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
公告版位
礁溪溫泉套房,位於宜蘭縣礁溪國小旁,近麥當勞,離礁溪火車站、首都客運、葛瑪蘭汽車客運約5分鍾車程,礁溪溫泉套房出租,您不需要再行添購傢俱,只需要帶幾件衣服,就能輕輕鬆鬆住進礁溪溫泉套房,天天在礁溪溫泉套房洗溫泉唷!意洽:游媽媽,電話0939711360,4500~4900元/月
- Feb 19 Sat 2011 12:31
[php] array_chunk 將陣列分割成多個陣列
close
全站熱搜
留言列表
發表留言