array_chunk_pad的な
なるほどー。この使い方は初めて見ました。
これは便利そう。
ただ一つ気になったのが、 array_chunk と array_pad で分割数の 2 が重複して出てくるところ。
調べてみたら array_chunk には足りない要素を埋めるための引数、機能がないんですね。あってもよさそうなのに。。
まぁでも以下のように簡単なラッパ関数を書けばいいかな。
<?php function array_chunk_pad(array $input, $size, $pad_value, $preserve_keys = false) { $chunks = array_chunk($input, $size, $preserve_keys); $chunks[] = array_pad(array_pop($chunks), $size, $pad_value); return $chunks; } $fruits = array( 'apple', 'orange', 'strawberry', 'banana', 'cherry', ); ?> <table border="1"> <?php foreach (array_chunk_pad($fruits, 2, ' ') as $chunk): ?> <tr> <?php foreach ($chunk as $fruit): ?> <td><?php echo $fruit ?></td> <?php endforeach ?> </tr> <?php endforeach ?> </table>