array_chunk_pad的な

array_chunkって便利ですよね - てつじんにっき


なるほどー。この使い方は初めて見ました。
これは便利そう。

ただ一つ気になったのが、 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, '&nbsp;') as $chunk): ?>
 <tr>
<?php   foreach ($chunk as $fruit): ?>
  <td><?php echo $fruit ?></td>
<?php   endforeach ?>
 </tr>
<?php endforeach ?>
</table>