Tips

2014.09.28

PHP 関数リファレンス 配列操作系3

PHP

関数リファレンス

今回も配列操作系の関数につい記述したいと思います。

array_chunk

array_chunk関数は配列内の要素(値)を指定した数ごとに分割して

多次元配列に格納しなおすことができます。

書式

配列を分割する

$配列変数名 = array_chunk(‘配列変数名’, ‘分割する個数’, ‘キーの振り直し’);




引数

1つ目の引数には分割をして格納しなおしたい配列名、

2つ目の引数には分割の個数(要素を何個ずつに分割したいのか)、

3つ目の引数には分割をして多次元配列に格納する際の分割した要素ごとにキーを分けずにそのまま連番で振るのか

0 からキーを割り当てなおすのか true または false で指定します。

(3つ目のキーは省略することができるので省略した場合は、false を指定したことになります)

true の場合は分割した要素ごとに連番を割り当てていき、、false の場合は分割した要素ごとに 0 からキーを振りなおします。

返り値

返り値には配列の中身を指定した数で分割した多次元配列が返されます。

以下のように分割した配列を格納する配列名を指定します。


$var_chunk = array_chunk($var, 2);

使用例

以下のようにすることで配列の値を2要素ずつ多次元配列に格納することができます。

<pre>
<?php

  $var = array('aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg');
  $var_chunk = array_chunk($var, 2);
  var_dump($var_chunk);

?>
</pre>

結果は以下のように

aaa, bbb

ccc, ddd

eee, fff

ggg

と分割されています。

最後の要素数は指定したものよりも足りなくなることもあります。

ブラウザ確認画像

また下記のように true を指定した場合は、

要素を格納する際にキーに連番をつけて格納するという形になります。

<pre>
<?php

  $var = array('aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg');

  $var_chunk = array_chunk($var, 2, true);
  var_dump($var_chunk);

?>
</pre>

結果は以下のようにキーが連番で割り当てられていることがわかります。

ブラウザ確認画像

新連載はじまりました!新PHP基礎 連載リンク

PHP基礎 連載

Recent News

Recent Tips

Tag Search