連想配列(マップ)の要素を1つずつ処理するには (foreach / for / each_key / each_pair / each_value) 2015/03/03
連想配列(マップ/ハッシュ/ディクショナリ)の要素を1つずつ順番に処理する方法。
Java 2013/08/01
Java5からは、以下の拡張for文(foreach構文)とkeySetメソッドの組み合わせで可能。
for (String key: map.keySet()) {
String value = map.get(key);
...;
}
Scala 2015/02/20
Mapにあるforeachメソッドでできる。これはListと同じ。
Signature:
例
val map = Map("a" -> 1, "b" -> 2, "c" -> 3);
map.foreach { case (key, value) =>
println("key=" + key + " value=" + value);
}
// 出力結果
// key=a value=1
// key=b value=2
// key=c value=3
PHP 2015/01/13
PHPの連想配列は普通の配列と同じなので、配列で使えるforeachの構文をそのまま使える。キーと値の2つをループの中で使うには以下のように foreach の括弧の中で => で区切る。
foreach ($arr as $key => $value) {
...
}
コロンを使った記法も可能。
foreach ($arr as $key => $value):
...
endforeach;
foreach文 | PHP Manual
http://php.net/manual/ja/control-structures.foreach.php
Smarty 2015/01/28
例
{foreach $arr as $key => $value}
...
{foreachelse}
<!-- $arr に要素がひとつもなかった場合 -->
...
{/foreach}
Python 2014/09/07
ディクショナリのitemsメソッドをfor文で回す。
for key, value in dic.items():
...
Ruby / JRuby 2014/12/14
ハッシュの全エントリに対してキーのみを引数としてブロックを実行
hash.each_key do |key|
...
end
ハッシュの全エントリに対して値のみを引数としてブロックを実行
hash.each_value do |value|
...
end
ハッシュの全エントリに対してキーと値を引数としてブロックを実行
hash.each_pair do |key, value|
...
end
Perl 2016/05/12
キーの配列を取得して foreach で回す方法
foreach my $key (keys %hash) {
my $value = $hash{$key};
...;
}
キーと値のペアを each を使って回す方法
while ((my $key, my $value) = each(%hash)) {
...;
}
CoffeeScript 2013/10/14
for key, value of map
...