Search

検索したいワードを入力してください

2019年02月12日

PHPでの配列(array)の追加・削除・結合の方法を紹介

PHPでは色々なところで配列を使います。配列関連の関数が多すぎて戸惑うという方も多いのではないでしょうか。この記事では配列の生成、追加削除結合の方法、多次元配列について紹介しています。配列の基本を確認したい方はぜひ読んでみてください。

PHPの配列って何?

配列とは、同じ型のデータを複数格納する入れ物のことです。PHPではデータの入れ物として変数を使用します。

配列も変数の一種ですが、通常の変数は1つの値を持つのに対し、配列は複数の値を持つことができます。同じ種類のデータの集合と考えるとわかりやすいでしょう。

例えば5品目の商品の価格を格納したい場合。 配列を使わず変数だけで表すとなると、変数を5つ定義し、それぞれに値を代入する必要が出てきます。配列の場合、1つの配列に5つの値を格納できます。

変数が品物(データ)を入れる箱なら配列はその箱の中にたくさん仕切りがあるイメージです。

配列の添え字とは

配列への値の代入は添え字を使用します。添え字は配列のそれぞれの要素に付けられた通し番号で0から始まります

データの箱に0,1,2...と順に番号が振られている状態を想像してください。PHPで配列の値を取り出す場合、配列だけ指定しても何も出てきません。

配列の添え字を指定して配列の中のデータにアクセスします。

PHPの配列の使い方

それでは、PHPで配列を使う場合はどのようにするのか見ていきましょう。

配列の生成

数字キーの配列の生成

PHPではarray関数を使用して、配列を生成することができます
例えば、3つの要素をもつ配列を生成する場合は次のように書きます。

【コード】
$fruits = array(“apple”, “orange”,”melon”);
echo $fruits[0];


fruits(フルーツ)という箱の中に apple・orange・melonという3つの値を入れ、ひとまとめに扱うことができます。
コードの2行目で配列の中のデータを取り出してディスプレイに表示させています。
上の例では添え字「0」を指定しているので、appleが表示されます。
また、arrayを使わずに1つ1つの値を指定するという方法もあります。

【コード】
$fruits [0] = “apple”;
$fruits [1] = “orange”;
$fruits [2] = “melon”;

文字列キーの配列の生成

PHPでは文字列をキーとした配列(連想配列)を作ることもできます

【コード】
$fruits = array(“apple”=>”りんご”, “orange”=>”オレンジ”,”melon”=>”レモン”);
echo $fruits[“apple”];


結果は"りんご"が出力されます。

配列要素の追加

既に生成された配列に要素を追加するにはどのような方法があるのでしょうか。

[](角カッコ)による追加

最も簡単なのは[](角カッコ)による追加です

【コード】
$fruits = array(“apple”, “orange”,”melon”);
$fruits [] = ”banana”; // 配列の最後に追加
print_r($fruits);


【出力結果】
Array ( [0] => apple [1] => orange [2] => melon [3] => banana )

PHPではprint_rで配列の要素全てを出力することができます。
bananaが配列の最後に追加されていることが分かります。

array_push関数で追加

配列に追加する要素が多い場合によく使われるPHPの関数としてarray_push()があります。複数の要素をまとめて追加できるので便利です。

【コード】
$fruits = array(“apple”, “orange”,”melon”);
array_push($fruits , ”banana”, "peach", "cherry"); // 3つ追加
print_r($fruits);


【出力結果】
Array ( [0] => apple [1] => orange [2] => melon [3] => banana [4] => peach [5] => cherry )

banana, peach, cherry が配列の最後に追加されました。

配列同士の結合

PHPでは配列と配列を結合して新しい配列を作ることもできます
次のコードを見てください。

【コード】
$fruits = array(“apple”, “orange”,”melon”);
// 配列に、3つの要素が入った配列を結合
$fruits = array_merge($fruits , array(”banana”, "peach", "cherry"));
print_r($fruits);


【出力結果】
Array ( [0] => apple [1] => orange [2] => melon [3] => banana [4] => peach [5] => cherry )

元の配列の要素の後ろに結合した配列の要素が追加されています。
上の例では2つの配列の結合ですが、3つ以上の配列の結合も可能です。
array_merge()の括弧の中に結合する配列をコンマ区切りで並べます。

配列要素の置換(上書き)

array_replace() は、 最初の配列の値をそれ以降の配列の同じ要素の値で置き換えます
2 番目の配列に存在するキーが最初の配列に存在しなければ、 そのキーが新たに最初の配列内に作られます。

最初の配列にしか存在しないキーについては何も変わりません。 置き換え用の配列が複数渡された場合は渡した順に処理を行い、 後から渡した配列の値のほうが優先されます。

【コード】
$fruits1 = array(“apple”=>”りんご”, “orange”=>”オレンジ”);
$fruits2 = array(“apple”=>”林檎”,”melon”=>”メロン”);
$fruits = array_replace($fruits1,$fruits2);
print_r($fruits);


【出力結果】
Array ( [“apple”] => ”林檎” [“orange”] => ”オレンジ” [”melon”] => ”メロン” )

配列要素の削除

PHPでは、さまざまな方法で配列を削除することができます。この記事では基本的な配列の削除方法を紹介します。

array_spliceで配列の要素を削除する

PHPで配列の指定した要素を削除するときはarray_splice()を使用します。
下記のように削除対象の配列と削除対象の位置を指定します。

【コード】
$fruits = array(“apple”, “orange”, ”melon”);
$fruits = array_splice($fruits, 1); //配列の要素1を削除
print_r($fruit);


【出力結果】
Array ( [0] => apple [1] => melon )

配列から指定した要素が削除されて、要素番号が詰められています。

unsetで配列の要素を削除する

unset()は、指定した要素の値を削除します。

【コード】
$fruits = array(“apple”, “orange”, ”melon”);
unset($fruits, 1); //配列の要素1を削除
print_r($fruits);


【出力結果】
Array ( [0] => apple [2] => melon )

unset関数を使用すれば、配列から指定した要素が削除できますが、削除後に要素番号は詰められません。
削除した配列の要素分番号を詰めるには、array_values()を使います。

【コード】
$fruits1 = array(“apple”, “orange”, ”melon”);
unset($fruits1, 1); //配列の要素1を削除
$fruits2 = array_values($fruits1);
print_r($fruits2);


【出力結果】
Array ( [0] => apple [1] => melon )

PHPのunsetの詳しい使い方はこちら
【初学者向け】PHPのunset関数で配列要素を削除する方法

多次元配列

いままで出てきた配列は「1次元配列」と言います。
PHPでは1次元配列の他に添え字を2個で管理する2次元配列、それ以上の多次元配列を作成することができます
2次元配列の例を見てみましょう。

【コード】
$fruits = array(
array("apple", "りんご"),
array("orange", "オレンジ"),
array("melon", "メロン")
);
echo $fruits[0][0].":".echo $fruits[0][1].;
echo $fruits[2][0].":".echo $fruits[2][1].;


【出力結果】
apple:りんご
orange:オレンジ

[0][0]とキーが2つ並んでいます。これは0番の配列の0番の項目という意味です。

配列の基礎をしっかり押さえよう

今回はPHPでの配列の追加削除結合の方法を説明しました。
PHPは配列を良く使う言語です。配列一つで色々できてしまいます。
配列の使い方をしっかりマスターして使いこなしましょう。

【PR】多くの人がプログラミングを諦めてしまう理由をご存知ですか?



近年プログラミングを勉強する人が増えています。

プログラミング学習者の多くは独学から取り組もうとしますが、だいたい80%ほどは3ヶ月も続かずに諦めてしまいます。早い人は1日目で。

多くの人がプログラミングを独学しようとして諦める理由は、次の3つ。
●モチベーションが維持できない
●エラーの原因・解決方法が分からない
●どう学習すればよいか分からない

TechBoostというプログラミングスクールでは、みんなと一緒にプログラミングをするのでモチベーションの維持ができ、分からないことがあればマンツーマンで教えてくれ、徹底的に研究された初心者向けの教材が揃っています。

TechBoostを卒業後、実際にエンジニアとして転職した方もいるほど。

本気でプログラミングを学びたい方は、一度無料のカウンセリングでご相談ください。プログラミングを嫌いになる前に。

tech boostについて

オーダーメイド型の学習コンテンツを提供する「tech boost」 は、エンジニアのキャリア支援に特化したサービスを複数展開している株式会社Branding Engineerが運営しているプログラミングスクールです。最短3ヶ月間で、未経験から『プログラミングの基礎』、『実際に業務で必要となるスキル』、『今のトレンドとなっている知識』まで学べ、ご希望の方にはプロのキャリアアドバイザーによる就業支援を行うことができます。

tech boost卒業生インタビュー

tech boostの卒業生の声を聞きました。あなたがプログラミングを学びたい理由を、一度考えてみてください。
営業→Javaエンジニア→Rubyエンジニアと転向し、第一志望のFinTech企業で働く山下さん
元営業、ビジネスのわかるエンジニアを目指す菅原さん
サンフランシスコに交換留学し、シリコンバレーのVCでインターン中の梅本さん
予備校の営業から半年でエンジニア転職を果たした小田島さん

tech boostの口コミ



Related