プログラミング言語PHPにおける配列について、PHP初心者向けにWeb開発経験のある筆者が解説します。
見やすいイラストでPHP 配列について解説しているので、安心してご覧ください。
本記事ではPHP 配列とは何か・初期化と代入・配列に要素を追加する方法・要素数を取得する方法・要素を検索する方法・配列の最後の要素を削除する方法について解説します。
とても濃い、充実した内容ですので、ぜひ最後まで読んでPHP 配列の基礎をマスターしましょう!
公開日:2017年4月26日
INDEX
PHP 配列とは?
まずは配列とは何かについてイラストで解説します。
配列とは、「複数のデータを格納したタンス」といったイメージです。
変数では、1つのデータのみを格納していました。配列は複数のデータを格納できるようになります。
配列に格納されたデータを取り出したいときは、「何段目に入っているのか」を「添字」で指定することで目的の情報を取り出すことができます。
それでは、次の章から実際に配列を定義して使っていきましょう。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >PHP 配列の基本(初期化と代入)
PHPで配列を作成するには、array()を使用して宣言します。
1 2 |
//配列を作成する構文 配列= array("要素A","要素B","要素C") |
実際に配列を作成して、各配列にアクセスするサンプルソースコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//サンプルコード1 $arr = array("りんご","みかん","バナナ"); //「arr」という名前で添字配列を定義、および初期値の代入 //添字は0,1,2が割り振られます。 //実際に各配列のデータにアクセスする。 print($arr[0]); //「りんご」が出力される print($arr[1]); //「みかん」が出力される print($arr[2]); //「バナナ」が出力される $arr2 = array(100,200,300); //「arr2」という名前で添字配列を定義、および初期値の代入 //添字は0,1,2が割り振られます。 //実際に各配列のデータにアクセスする。 print($arr2[0]); //「100」が出力される print($arr2[1]); //「200」が出力される print($arr2[2]); //「300」が出力される |
上記のサンプルソースに「添字」と書かれていますが、先程のイメージでいう「タンスの何段目」を意味しています。
タンスの場合は1段目、2段目、3段目という指定ですが、配列の場合は添字で「0」、「1」、「2」を指定します。
「0」で1段目のデータにアクセスすることができます。
上記で実際に配列を定義し、配列[添字]で各配列のデータにアクセスすることが出来ました。
また、配列の中身を全部一括で表示したい場合は「print_r」を用いることで対象のデータを見やすく表示することが出来ます。
1 |
print_r(変数) //指定した変数の情報をわかりやすく表示してくれます。 |
次に「print_r」を使用するサンプルソース2です。
1 2 3 4 5 |
//サンプルコード2 $arr = array("りんご","みかん","バナナ"); //「arr」という名前で配列を定義、および初期値の代入 //添字は0,1,2が割り振られます。 print_r($arr); |
実際にprint_rを使った出力結果が下記となります。
1 2 |
//サンプルコード2の出力結果 Array ( [0] => りんご [1] => みかん [2] => バナナ ) |
Array(配列)の中にどのようなデータが入っているのかが、一目で確認ができるようになりました。
サンプルコード1では、print $arr[X];と複数個書かないと中身が確認できませんでしたよね。
配列データの中身を一時的に確認したいときに「print_r」使うと便利です。ぜひ、使ってみてください。
次の章で、配列にデータを追加する方法を説明していきます。
PHP 配列 要素を追加する方法
今回登場する「配列に要素を追加する方法」は下記3つです。
・array_push()による追加
・[]による追加
・array_merge()による追加
array_push()による追加
配列の末尾に要素を追加する場合に「array_push」という便利な関数があります。
array_push()で末尾に要素を1つ追加する
1 2 |
//array_pushの構文 array_push(対象配列,"追加要素"(, 追加要素…)); |
次に実際にarray_pushを使った例を示します。
1 2 3 4 5 6 7 8 9 10 11 12 |
//サンプルコード3 $arr = array("りんご","みかん"); //「arr」という名前で配列を定義、および初期値の代入 //添字は0,1,2が割り振られます。 print_r($arr); print "<br>"; //html改行する $result_count = array_push( $arr, "バナナ"); //バナナを$arrに追加する print_r($arr); print "<br>"; //html改行する print $result_count ; |
1 2 3 4 |
//出力結果 Array ( [0] => りんご [1] => みかん ) Array ( [0] => りんご [1] => みかん [2] => バナナ ) 3 |
ARRAY_PUSH()で末尾に複数の要素を追加する
1 2 3 4 5 6 7 8 9 10 11 12 |
//サンプルコード4 $arr = array("りんご","みかん"); //「arr」という名前で配列を定義、および初期値の代入 //添字は0,1,2が割り振られます。 print_r($arr); print "<br>"; $result_count = array_push( $arr, "バナナ","イチゴ"); //バナナ,イチゴを$arrに追加する print_r($arr); print "<br>"; print $result_count ; |
1 2 3 4 |
//出力結果 Array ( [0] => りんご [1] => みかん ) Array ( [0] => りんご [1] => みかん [2] => バナナ [3] => イチゴ ) 4 |
※array_push()を使ってうれしいこと。戻り値に配列の個数が出力されます。
ただし、動作に関しては、次に紹介する[]による配列要素追加の方が動作が速いとされています。
[]による追加
1 2 |
//[]構文 対象配列[] = 追加要素 //対象配列の末尾に追加要素が追加される |
1 2 3 4 5 6 7 |
//サンプルコード5 $arr=array("りんご","みかん"); //配列を定義する。 print_r($arr); //配列のデータを見やすく表示する。 print("<br>"); //html改行する $arr[]="バナナ"; //配列の末尾に「バナナ」を追加する。 print_r($arr); //htmlを改行する |
1 2 |
Array ( [0] => りんご [1] => みかん ) Array ( [0] => りんご [1] => みかん [2] => バナナ ) |
簡単に末尾に要素を追加することができました。
array_merge()による追加
先程までは、追加したい要素を一つずつ追加する方法でした。
array_mergeを使うことで配列同士をつなぎ合わせて出力することができます。
1 2 |
//array_merge構文 配列 = array_merge( 追加したい配列,追加したい配列(, 追加したい配列2...)) |
1 2 3 4 5 |
//サンプルコード6 $arrA= array("りんご","みかん"); //追加する配列arrA $arrB= array("バナナ","イチゴ"); //追加する配列arrB $result=array_merge($arrA,$arrB); //結合した配列結果を$resultに入れる print_r($result); |
1 2 |
//サンプルコード6の出力結果 Array ( [0] => りんご [1] => みかん [2] => バナナ [3] => イチゴ ) |
添字が数字の場合は、全てマージされ、添字の数字が0から順番に振り直されます。
ここでは詳細の説明しませんが、添字が文字列の場合には同じ添字のものが上書きされます。
PHP 配列の要素数を取得する方法
count関数を使って配列の要素数を取得する。
1 |
要素の数 = count(配列); |
1 2 3 4 |
//サンプルコード7 $arr = array("りんご","みかん","バナナ"); //「arr」という名前で配列を定義、および初期値の代入 print count($arr); |
1 2 |
3 //配列の個数が返される |
※配列が空の場合は、countで「0」が返されます。
PHP 配列の中から要素を検索する方法
配列の中に指定した要素があるかないかを調べるときに便利な関数「in_array」を紹介します。
1 2 3 4 5 |
//サンプルコード8 $arr = array("りんご","みかん","バナナ"); if(in_array("バナナ",$arr)){ //配列の中にバナナがあれば実行する print "バナナが見つかりました"; } |
上記の様に書くことで、配列に指定した文字列があるかを確認することが出来ます。
for文などを使って1要素ずつ調べるよりも簡単です。
※ここでの検索文字列の大文字小文字は区別されます。
PHP 配列の最後の要素を削除する方法
array_pop関数を使って、配列の末尾からデータを取り出すことができます。(配列の最後の要素を削除できます。)
1 |
戻り値 = array_pop(値を取り出す配列) |
POP処理で取り出した値が入ります。もし、空の配列または配列がないものに処理を行った場合NULLが戻り値となります。
1 2 3 4 5 6 |
//サンプルコード9 $arr = array("りんご","みかん","バナナ"); $result = array_pop($arr); //末尾からデータを取りだし削除する。 print_r($arr); //配列の中身を確認する。 print("<br>"); //html 改行コードを出力する。 print_r($result); //POPした中身を確認する。 |
1 2 3 |
//サンプルコード9の出力結果 Array ( [0] => りんご [1] => みかん ) //$arr バナナ // $result |
PHPのPUSHとPOPについて復習
PHPの配列に要素を追加する方法でPUSH、配列の最後の要素を削除する方法でPOPを説明しました。本来PUSHとPOPは、スタックの基本操作として勉強するものです。
図をイメージしながらPUSHとPOPの違いを確認し再度復習しておきましょう。
PUSH:配列の末尾にデータを追加
POP : 配列の末尾からデータを取りだす
上記は、必ず覚えておきましょう。
いかがでしたか?PHP 配列の基礎が理解できましたか?
ちゃんと学ぶ、PHP+MySQL(MariaDB)入門講座
本格的なWebシステム開発に欠かせない、サーバーサイドプログラミングをPHP+MySQLで学ぼう。
\無料でプレビューをチェック!/
講座を見てみる評価:★★★★★
補足も含めて、丁寧に説明されているので、初学者も最後までやり切れるところが大変良いと思いました。
ありがとうございます。
評価:★★★★★
単純な構文だけでなく、フォームに入力される文字のセキュリティなどの役に立つ情報も教えていただけて、とても参考になります
最新情報・キャンペーン情報発信中