Hatena::ブログ(Diary)

てつじんにっき

2011-01-06

[] array_chunkって便利ですよね

http://jp.php.net/array_chunk

例: 要素数Nの配列を、テーブルで1行2列ずつ表示したいようなときとか。

コード

<?php
$fruits = array(
    'apple', 'orange', 'strawberry', 'banana', 'cherry',
);
?>
<table border="1">
<?php foreach (array_chunk($fruits, 2) as $chunk): ?>
  <tr>
<?php   foreach (array_pad($chunk, 2, null) as $fruit): // 2より少ない場合はnullで埋める ?>
    <td><?php if ($fruit === null): ?>&nbsp;<?php else: ?><?php echo $fruit ?><?php endif ?></td>
<?php   endforeach ?>
  </tr>
<?php endforeach ?>
</table>

出力

<table border="1">
  <tr>
    <td>apple</td>
    <td>orange</td>
  </tr>
  <tr>
    <td>strawberry</td>
    <td>banana</td>
  </tr>
  <tr>
    <td>cherry</td>
    <td>&nbsp;</td>
  </tr>
</table>

と、いった感じでテンプレート等でよく使ってます。(HTMLのエスケープは省略してます)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Tetsujin/20110106/1294251801