php函数array_chunk的妙用
-
分类
php
·
-
发表于 2014-12-27 09:28:09
如果你想输出这么一个列表你会怎么做呢?
数据:
1
| $cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel");
|
最终结果:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <section class="list"> <div>Volvo</div> <div>BMW</div> <br> <div>Toyota</div> <div>Honda</div> <br> <div>Mercedes</div> <div>Opel</div> <br> ... </section>
|
以前我一直这样做:
1 2 3 4 5 6 7 8 9
| $cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel"); $html = '<section class="list">'; foreach($cars as $index=>$car){ $the_br = ($index + 1) % 2 == 0 ? '<br>' : ''; $html .= '<div>' . $car . '</div>' . $the_br; } $html .= '</section>'; echo $html;
|
一直在纠纷里面那个判断,使用array_chunk()函数就不在费脑细胞了。array_chunk()版本:
1 2 3 4 5 6 7 8 9 10 11
| $cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel"); $html = '<section class="list">'; foreach(array_chunk($cars, 2) as $split_car){ foreach($split_car as $car){ $html .= '<div>'. $car . '</div>'; } $html .= '<br>'; } $html .= '</section>'; echo $html;
|
array_chunk函数介绍
array_chunk() 函数把数组分割为新的数组块。语法:
1
| array_chunk(array, size, preserve_key);
|
其中每个数组的单元数目由 size 参数决定。最后一个数组的单元数目可能会少几个。
可选参数 preserve_key 是一个布尔值,它指定新数组的元素是否有和原数组相同的键(用于关联数组),还是从 0 开始的新数字键(用于索引数组)。默认是分配新的键。
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php $cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel"); print_r(array_chunk($cars,2));
?>
|