Webプログラミング研究所〜初心者・中級者Webプログラマ(CGI・Perl・PHP・Javaプログラム言語)のための支援サイト〜 「Webプログラミング研究所」TOPへ 「Webプログラミング研究所」TOPへ
 
「プログラミングサンプル集」TOPへ 「プログラミングサンプル集」TOPへ
 
目次をフレームで表示 目次をフレームで表示
 

foreach文

 
概要
foreach文は、PerlやPHPなどのスクリプト言語ではお馴染みの配列や連想配列(ハッシュ)の値を一つずつ取り出して処理を行うための処理命令です。
各言語で書き方が異なるので、混乱しないように気をつけましょう。
 
Perl (例) 配列でforeach文を使用する場合
サンプルソース
@arr = ("apple", "banana", "melon", "grape", "peach");
foreach $str (@arr) {
  print $str . "\n";
}

実行結果
apple
banana
melon
grape
peach

(例) ハッシュでforeach文を使用する場合
サンプルソース
%map = (
  "apple" => "red",
  "banana" => "yellow",
  "melon" => "green",
  "grape" => "purple",
  "peach" => "pink",
);
foreach $strKey (keys(%map)) {
  print $strKey . " : " . $map{$strKey} . "\n";
}

実行結果
apple : red
grape : purple
banana : yellow
peach : pink
melon : green

キーポイント
Perlのforeach文は次のような公式となります。
foreach <取り出した配列の要素> (<配列>) {
  //処理
}
配列のために用意された処理であり、ハッシュで使用する場合は工夫が必要です。

サンプルソースでは、ハッシュのキーを取得するためにkeys()関数を使用しています。
keys()関数は、引数にハッシュを代入すると、そのハッシュのキーの配列が戻り値となります。
keys()関数で取得できるキーの配列の順番は、任意であり、ハッシュに格納した順番になるとは限りません。
順番で取得したい場合は、ハッシュではなく配列を使用しましょう。
 
PHP (例) 配列でforeach文を使用する場合
サンプルソース
<?php
  $arr = array("apple", "banana", "melon", "grape", "peach");
  foreach ($arr as $str) {
    echo $str . "\n";
  }
?>

実行結果
apple
banana
melon
grape
peach

(例) 連想配列でforeach文を使用する場合
サンプルソース
<?php
  $map = array(
    "apple" => "red",
    "banana" => "yellow",
    "melon" => "green",
    "grape" => "purple",
    "peach" => "pink",
  );
  foreach ($map as $strKey => $strVal) {
    print $strKey . " : " . $strVal . "\n";
  }
?>

実行結果
apple : red
banana : yellow
melon : green
grape : purple
peach : pink

キーポイント
PHPのforeach文は、配列でも連想配列でも使いやすい仕様となっています。
配列の場合
foreach (<配列> as <取り出した配列の要素>) {
  //処理
}
連想配列の場合
foreach (<連想配列> as <取り出した連想配列のキー> => <取り出した連想配列の値>) {
  //処理
}

PHPでは、連想配列に格納したキーと値は、順番に取得することができるのが特長です。
連想配列でforeach文を使用する場合の例では、連想配列に格納したキーと値を順番に取得していき、処理を行っています。
 
Java Javaでは、foreach文はありません。for文、while文などで代用してください。
 
NOTE
 
ご意見箱コーナー (管理者宛てメール)
このページは、あなたの参考になりましたか?

参考になった  どちらともいえない  あまり参考にならなかった

ご意見・ご感想・ご要望がありましたら、ご記入いただければ幸いです。
今後のコンテンツ作成、ページ改善等の参考にさせていただきます。

 


Webプログラマになりたい人のためのスクール・講座情報

クリエイターの皆さん!お仕事ありますよ!フェローズに!

パソコンスクールガイド
積極的な情報収集が目標実現の近道です。

就職・起業・SOHO・それとも副業? デジハリがノウハウを伝授!

就転職に強い、資格取得スキルアップ専門校ヒューマンアカデミー

CsideNet レンタルサーバー サブドメイン型 780円/月
CGI/SSI/PHP、データベース(MySQL)が利用できます。1週間の試用期間があるのがGood!!

転職・派遣・就職・アルバイトの求人情報検索支援サイト 〜 14ALL JOB SEARCH 〜
 
 
  「Webプログラミング研究所」TOPへ 「Webプログラミング研究所」TOPへ
 
「プログラミングサンプル集」TOPへ 「プログラミングサンプル集」TOPへ
 
目次をフレームフレームで表示 目次をフレームで表示

Copyright (C) 2004 - 2005 IWAMODE Project All Rights Reserved.