PHPでarray_spliceを使う方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPでarray_spliceを使う方法について現役エンジニアが解説しています。PHPのarray_splice()関数とは配列の一部を削除したり、他の要素で置換することができる関数です。引数には開始位置や終了位置、置き換える場合は配列を指定します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

今回は、PHPでarray_spliceを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPでarray_spliceを使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

array_spliceとは

PHPのarray_splice()関数、配列の一部を削除したり、他の要素で置換できる関数です。
 

array_spliceを使う方法

array_splice()関数の基本的な使い方を見ていきましょう。

array_splice ( $配列, $開始位置[, $削除する要素の数 [, $置き換える要素を含んだ配列 ]] )

第一引数には、削除する要素を含んだ対象の配列を渡します。第二引数には、最初の要素から何個目の要素から削除するかを指定します。渡す数値が正の数の場合は先頭から数え、負の数の場合は、末尾から数えた位置から開始します。

第三引数には、オプションとして、削除する要素の数を指定できます。指定しなかった場合は、第二引数から指定した位置から、末尾までの要素を削除します。正の数を渡した場合は、第二引数で渡した開始位置から第三引数で渡した正の数分の要素を削除します。負の数を渡した場合は、削除する要素の数を末尾から数えます。

第四引数には、削除した要素に変わる要素を引数の配列の要素に含めることで、要素を置換します。 削除された要素は配列として返却されます。
 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは、array_splice()関数を使用して実際に削除する例と、要素を置換する例を見ていきましょう。

まずは、配列の要素を削除する例です。

<?php
$fruits = array( "りんご", "みかん",  "れもん", "メロン" );
// 削除された要素を出力
print_r(array_splice($fruits, 2, 2));
// 削除後の配列を出力
print_r($fruits);

 

出力結果

Array
(
  [0] => みかん
  [1] => れもん
)
Array
(
  [0] => りんご
  [1] => メロン
)

上記の例では、第一引数で渡した配列$fruitsから、第二引数で渡した2を元に開始位置を”みかん”の要素に設定し、第三引数で渡した数値2の数分要素を削除して返却しています。そのため、一つ目の出力結果では、削除された要素を含む配列が出力されます。

二つ目の出力結果は削除後の配列$fruitsの中身です。削除した要素がなくなっていることが確認できます。

次に、配列の要素を置換する例を見ていきましょう。

<?php
$fruits = array( "りんご", "みかん",  "れもん", "メロン" );
$addFruiuts = array("ぶどう", "もも");
// 配列の要素を置換して、削除された要素を出力
print_r(array_splice($fruits, 2, 2, $addFruiuts));
// 置換後の配列を出力
print_r($fruits);

 

出力結果

Array
(
  [0] => みかん
  [1] => れもん
)
Array
(
  [0] => りんご
  [1] => ぶどう
  [2] => もも
  [3] => メロン
)

上記の例では、array_splice()関数の第四引数に置換する要素を含む配列$addFruiutsを渡すことで、削除した要素の部分に$addFruiutsが含む要素が追加され、配列の要素が置換されたことが確認できます。
 

筆者プロフィール

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。