
【6日でできるPHP入門】配列の切り取りと結合
配列はPHPで複数の値を一つの変数で扱うための重要なデータ構造です。開発をしていると「配列の一部だけを取り出したい」「複数の配列を一つにつなげたい」といったケースが頻繁に発生します。この記事では、配列の一部を切り取る方法と、複数の配列を結合する方法について、具体例を使いながら丁寧に解説します。

1.配列の切り取り
1.1. array_slice関数の基本
配列の一部だけを取り出したい場合は、array_slice
関数を利用します。
項目 | 内容 |
---|---|
関数名 | array_slice(配列, 開始位置, 長さ [, 添字保持]) |
開始位置 | 何番目から取り出すか(0が先頭) |
長さ | 取り出す要素の数 |
添字保持 | 添字を元のまま保つかどうか(true/false、省略可) |
サンプルプログラム
ファイル名: lesson38_1.php
<?php
echo "配列ar1の初期値<br>";
$ar1 = ["猫", "犬", "鳥", "魚", "うさぎ"];
print_r($ar1);
echo "<br>ar2: 2番目から3つ切り取り(添字振りなおし)<br>";
$ar2 = array_slice($ar1, 1, 3); // 添字リセット
print_r($ar2);
echo "<br>ar3: 2番目から3つ切り取り(添字保持)<br>";
$ar3 = array_slice($ar1, 1, 3, true); // 添字保持
print_r($ar3);
?>
実行結果

解説
array_slice($ar1, 1, 3)
は、2番目(添字1)から3つ要素を取り出し、新しい配列(添字は0から振りなおされる)。array_slice($ar1, 1, 3, true)
は、取り出した要素の元の添字をそのまま保持。
1.2. 元の配列は変更されない
array_slice
は元の配列には影響しません。新しい配列が作られるだけなので、安心して利用できます。
2.配列の結合
2.1. array_merge関数の基本
複数の配列を一つにまとめる場合は、array_merge
関数を使います。
関数名 | 役割 | サンプル |
---|---|---|
array_merge | 配列を結合して新しい配列を作る。 | $result = array_merge($a, $b); |
サンプルプログラム
ファイル名: lesson38_2.php
<?php
$ar1 = ["りんご", "バナナ"];
$ar2 = ["みかん", "ぶどう", "もも"];
$result = array_merge($ar1, $ar2);
print_r($result);
?>
実行結果

解説
$ar1
と$ar2
の要素を一つの配列にまとめている- 添字は0から順に振り直される
2.2. 添字の扱いと注意点
- すべて数値添字なら、0から順に振りなおされる
- 連想配列の場合はキーが重複すると後ろの配列の値で上書きされる点に注意
3.応用:切り取り+結合の活用例
複数の配列から一部だけ切り取って、さらにそれらを結合することもできます。
サンプルプログラム
ファイル名: lesson38_3.php
<?php
$a = ["A", "B", "C", "D"];
$b = ["E", "F", "G"];
$partA = array_slice($a, 1, 2); // B, C
$partB = array_slice($b, 0, 2); // E, F
$merged = array_merge($partA, $partB);
print_r($merged);
?>
実行結果

まとめ
- 配列の切り取りには
array_slice
を使い、元の配列を変更せずに一部だけ取得できる。 - 配列の結合には
array_merge
を使い、複数の配列を1つにまとめられる。 - 添字の扱いや連想配列の注意点も理解して使い分けよう。
配列の切り取りと結合はデータ加工や効率的なプログラミングにとても役立つテクニックです。サンプルをたくさん試しながら、ぜひマスターしてください!