pg-box.jp
140130訓練 | ハコソフト
昨日の続き。 foreach foreach (array_expression as $value) Javaの拡張for文みたいな感じ。Javaとは配列と要素の値の順番が逆なので注意。 for (Object element : list) 連想配列を使ったリスト 配列の要素に文字列などのキーを付けられる。 普通の配列だと0,1,2,3.....と自動的に番号が振られていたが連想配列だと意味のあるキーを設定できるため、キーを指定して参照が出来て便利。 foreachを使ってループ処理も出来る。 $keyと$valueは仮引数なので利用する場所で一致させてあげればOK。 つまり適当な名前の引数で問題ない。利用する時に同じ名前を指定すれば(繰り返し)。 こんな感じで。 実行結果 1年は12ヶ月だよ 1月 January 2月 February 3月 March 4月 April 5月 May 6月 June 7月 Jury 8月 August 9月 September 10月 October 11月 November 12月 December もちろん単独のキーを指定してアクセスすることも出来る。 print($month); この場合は上記と照らし合わせると「March」が出力される。 配列の入れ子 表題の通り。連想配列のvalueをarrayにしてしまう。 ソースだけ置いておきます。 実行結果はテーブル使ったので画像で。 配列は自由に入れ子に出来るので、多次元配列も作れる。 今回は割愛。 検索フォーム 簡単な検索フォームです。 mb_strposで入力語と一致する配列のキーがあるか調べます。 mbはマルチバイトの意味で日本語等のマルチバイト文字に対応しているということ。 とりあえずコード 検索フォーム 結果表示 検索なのでGETにしてみたが、POSTでも問題ない。 セキュリティ上問題があるならPOSTの方がよい。 mb_strpos 文字列の中に指定した文字列が最初に現れる位置を見つける mb_strpos ( string $haystack , string $needle ] ) 第一引数:調べたい文字列 第二引数:第一引数の中から探す文字列 第三引数:開始位置 第四引数:文字エンコーディング 第三、第四引数は特に指定がなければ省略可。