超素人のJAVAスクリプト&PHP奮戦記

超ど素人のえいすけがJAVAスクリプトとPHPを勉強してみるブログ

広告

※このエリアは、60日間投稿が無い場合に表示されます。記事を投稿すると、表示されなくなります。

ループ処理して、配列から値を取り出す 連想配列編

2009-04-10 | PHP
連想配列には、インデックス番号がないため先日の記事のようにfor関数でループさせて、そのループ回数を添え字に使って取り出すことが出来ませんよ。

そこで登場するのがlist関数とeach関数なわけです。

とりあえず、プログラムをご覧くださいな。





先日のfor文を用いたプログラムと違うところは大きく1点。

※連想配列の書き方については、過去の記事をご参考ください。

繰り返し(ループ処理っていうみたいですよ)に、for関数ではなく、while関数を使っているところです。

このwhile関数ってのは、while(繰り返しが続く条件式){命令文}で構成されていて、条件式が続く限りループ処理が続きます。

今回は、繰り返しの条件文を関数を使ってこなしたので、for関数は使いにくかったのです。



んで、繰り返しが続く条件文に入れたlist関数とeach関数の働きをご説明。

まず、each関数で、連想配列yasaiからインデックス番号(またはキー値)を取得します。

list関数で、変数$keyにキー値を入力し、変数$valにキー値に対応する値が入ります。

※変数名は自由に変えてくださって結構です。

each関数は、実行とともにポインタを1つ次の要素に移します。

連想配列の終わりまでループ処理を実行すると、each関数はfalseを返します。



each関数から、falseを受け取ったwhile関数はループ処理をやめます。



と、まあこんな動きですよ。

list関数とeach関数は、配列から値を取り出すときに使い勝手がよいのでよく使うことになるかもしれませんね。



ちなみにlist関数をさらに詳しく解説されている方は「anatoo勉強記」様です。もっと詳しく知りたい方は、そちらで勉強してみてください。

僕もかなり勉強になりました。
ジャンル:
ウェブログ
コメント   この記事についてブログを書く
« ループ処理をして、楽ちんに... | トップ | ecach関数とprintf関数 »
最近の画像もっと見る

コメントを投稿

PHP」カテゴリの最新記事

関連するみんなの記事