こんにちは、アートディレクターの奥田です。
最近、歳をとったせいか本当に涙腺が緩くなりました。
今期アニメが良すぎて前が見えなくなることが何度かありました。
泣くのはストレス解消にも良いようなので皆さんもぜひ涙活しましょう。
さて、前回は「変数と定数について」ご説明いたしました。
今回はプログラミングには必ずと言っていいほど存在する「配列」についてです。
Table of contents
配列とは?
配列は、複数の値をひとまとめにできる箱というようなイメージをしていただくとわかりやすいと思います。
以下のように宣言し、変数に格納することができます。
$arr = array(); // PHP5.4以降ではこのように[]で宣言できます。 $arr = ["foo","bar"];
また、配列の中身を確認したい場合はvar_dumpよりprint_rのほうが見やすく便利です。
print_r($arr); // 結果 Array ( [0] => foo [1] => bar )
連想配列
配列にはキーという値の場所を表すものが存在します。
箱にラベルをつけるようなイメージですね。
先程の例ではキーを指定せず宣言していましたが、キーを指定しないと0からの連番が付与されます。
“キー”=>”値”の形にすることで、キーを指定して宣言することができます。
$arr = ["first_name" => "Mineo","last_name" => "Okuda","age" => 32]; print_r($arr); // 結果 Array ( [first_name] => Mineo [last_name] => Okuda [age] => 32 )
また、一度宣言された配列に要素を追加する場合は[]にキーを指定して追加します。
$arr = []; print_r($arr); // 結果 Array ( ) $arr[] = "foo"; print_r($arr); // 結果 Array ( [0] => foo ) $arr["name"] = "Mineo"; print_r($arr); // 結果 Array ( [0] => foo [name] => Mineo )
値を出力する場合は変数の後に[]でキーを指定します。
echo $arr["name"]; Mineo
多次元配列
今までご説明した配列は一階層のみでしたが、要素に配列を追加することもできます。
それが多次元配列です。
$yorimoi = []; $yorimoi[] = ["name" => "Mari Tamaki","cv" => "Inori Minase"]; $yorimoi[] = ["name" => "Shirase Kobuchizawa","cv" => "Kana Hanazawa"]; $yorimoi[] = ["name" => "Hinata Miyake","cv" => "Yuka Iguchi"]; $yorimoi[] = ["name" => "Yuzuki Shiraishi","cv" => "Saori Hayami"]; print_r($yorimoi); // 結果 Array ( [0] => Array ( [name] => Mari Tamaki [cv] => Inori Minase ) [1] => Array ( [name] => Shirase Kobuchizawa [cv] => Kana Hanazawa ) [2] => Array ( [name] => Hinata Miyake [cv] => Yuka Iguchi ) [3] => Array ( [name] => Yuzuki Shiraishi [cv] => Saori Hayami ) )
また、多次元配列の値を出力したい場合、以下のようにして出力できます。
echo $yorimoi[0]["name"]; // Mari Tamaki
配列の関数
PHPには配列に関する関数がたくさん用意されています。
今回はよく使う関数を一部ご紹介したいと思います。
先頭に要素を追加する
先頭に追加する場合はarray_unshift()を使います。
$arr = ["b","c"]; array_unshift($arr, 'a'); print_r($arr); // 結果 Array ( [0] => a [1] => b [2] => c )
配列の一部を削除し、他の要素で置換する
配列の一部を削除し他の要素で置き換える関数はarray_splice()を使用します。
第3引数を0にすれば削除せず追加することができます。
$arr = ["a","d","c"]; // キー1を削除し、'b'を追加 array_splice($arr,1, 1,'b'); print_r($arr); // 結果 Array ( [0] => a [1] => b [2] => c ) $arr = ["a","d","c"]; // キー1の前に、'b'を追加 array_splice($arr,1, 0,'b'); print_r($arr); // 結果 Array ( [0] => a [1] => b [2] => d [3] => c )
複数の配列をマージする
複数の配列をマージするにはarray_mergeを使用します。
$arr = ["a","b","c"]; $arr2 = ["d","e","f"]; // $arrと$arr2をマージ $result = array_merge($arr,$arr2); print_r($result); // 結果 Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f )
さいごに
いかがだったでしょうか?
多次元配列はとても使い勝手がよく、PHPのプログラミングには必要不可欠な存在です。
PHP以外の言語にも配列は存在しますので、配列を理解できるとプログラミングの幅がかなり広がると思います。
少しでも皆さんの参考になれば幸いです。