You are here: Home » php » phpのforeach文の基本的な使い方(初心者用)

phpのforeach文の基本的な使い方(初心者用)

phpには構文が複数あるのですが、そのなかでもこれだけは覚えておけ!っていう構文があります。それが配列とオブジェクト専用のforeach文です。

foreach文は配列に指定した要素を順に取り出したりできる便利なやつです。

 

スポンサーリンク

phpのforeachは配列を処理する

基本的な例

上の例では、変数$aのarray()の中に日本、アメリカ、インドを配列で格納して、それを二行目の foreach($a as $value){ で配列の値の左から(上の例の場合日本から)$a から as  を経て $value に値を一つずつ入れてecho $valueで出力。一つ出力したら次の配列の値を出力する仕組みです。

もう一回かみ砕いて解説、配列の左からまず日本をas $valueに取り込んで、echo $valueで出力したあと、アメリカをas $valueに取り込んでまたecho $valueで出力して、次にインドをas $valueに取り込んでecho $valueで出力して配列の値がもうないので終了~ って感じです。

 

つまり、こうなります。

 

foreach文の特徴は、配列の中にある要素(値とか)の数だけ処理が繰り返し行われ、一回繰り返すごとに最初から処理が行われ配列の中の要素の処理をやりつくしたら、終わり!です。

 

foreach文でキーと値を取り出す(連想配列)

foreach文から連想配列とキーと値を同時に取り出すことができます。

($配列 as $変数)を($配列 as $キー => $変数)に変えるだけで連想配列のキーと値が同時に取り出すことができます。やってる事は単純なのですが、「ああんっ!わっかんねーよ!!」って最初は意味わからんですよね。

 

簡単なforeach文で連想配列の操作の例

まず、$a = array() 連想配列(後で使う道具を複数入れて置ける場所)に “Japan” => “日本”, “America” => “アメリカ”, “India” => “インド”, を入れて  foreach($a as $key => $value)  の最初の読み込み(処理)で $key に”Japan” $value に”日本”を入れて echo $key . $value で出力します。

出力したので、最初に戻って読み込み $key に “America”  $value に “アメリカ” を入れてecho $key . $valueで出力します。

次の読み込みで$key に “India”  $value に “インド” を入れてecho $key . $valueで出力します。

連想配列のkeyと値がすべて処理し終わったので、終了しまーすみたいな感じです。

 

つまりこうなります。

 

さらにif文を組み込ませるとキーをif文で判定して出力結果を変えることができます。

if($key == ‘Japan’) と elseが出てきましたが、 if($key == ‘Japan’) の == は右の$keyと左の’Japan’が同等かどうか判定してtrueと(真)なら echo $value で文字列の”は母国です。”と一緒に出力、falseなら 次の処理の echo $value . “は外国です。”gが出力される仕組みです。

 

つまりこうなります。

スポンサーリンク

「break」や「continue」を利用することができます。

やってることは単純なのですが、英語のような文字でごちゃごちゃ書かれてもわからんですよね。考え方は配列で値とキーを決めて、foreach($配列 as $変数) で条件を決めて、echoとかprintで出力する感じです。

スポンサーリンク

コメントを残す