• ベストアンサー

インクリメントについて。

たとえば、i++なら、iが1ずつ増えていくというインクリメントはわかるのですが、 foreach(@addr){ $address{$_}++; } のように、$address{$_}++ が増えていくというのがよくわかりません。何が増えていくことになるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

例えば、 @addr=('tokyo','kyoto','osaka','nagoya','kyoto',osaka'); とかなっていたら %address=( 'tokyo' => 1, 'kyoto' => 2, 'osaka' => 2, 'nagoya' => 1); とするということになります。 print $address{'kyoto'}; とすると2が出力されます。 つまり @addr のそれぞれの内容について数を数えるというようなことになりますい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • インクリメントしてくれません

    配列mousの各要素を配列tousと照らし合わせ、マッチしたら変数countにインクリメントし、何回マッチングしたかを返す関数を作りました。 でも、なぜか1回しかインクリメントしてくれません。 確認のため試しにcount++部分をputf("テスト表示")に置き換えた場合マッチングした回数だけ「テスト表示」表示されました。 じゃあなぜ、変数countは一回しかインクリメントされないのでしょうか? #include <stdio.h> int DataMatch(int *, int *); void main() { int mous[6] = { 1, 15, 12, 23, 33, 42}; int tous[7] = {10, 15, 19, 23, 33, 42, 11}; int test; test = DataMatch(mous, tous); printf("%d%\n", test); } ////////////////////////////////////////////////// int DataMatch(int *buffer1, int *buffer2) { int i, j, count; for(i = 0; i < 6 ; i++ ){ for(count = 0, j = 0; j < 6; j++){ if(buffer1[i] == buffer2[j]){ count++;//インクリメントしてくれない! break; } } } return count; }

  • 正規表現preg_matchでincrement?

    foreach($data as $key=>$val) { if(preg_match("/^increment\((\-?\d+)\)$/i",$val,$m)) $q.= "`$key` = `$key` + $m[1], "; ・上記のようなif文があるのですが、どういう意味でしょうか? ・incrementはカウントアップ? ・$valに「-1」…「-9」文字列があれば、$m[1]として利用? ・iがあるので、その際、大小文字の違いを無視?

    • ベストアンサー
    • PHP
  • インクリメントって何?

    こちらに掲載すべきものかわかりませんが、「インクリメント」と検索したところここにたどりつきました。 Accessで新規レコードの「値」に「インクリメント」となっていました。 この言葉本来の意味が知りたいです。 スペルがわからず「英和辞典」でも調べられなかったので。。。 お願いします。

  • インクリメント

    情報処理の問題で一つわからない点があります http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H19a2/pm10.html 上記HPの「 d 」の答えなのですが rank++ と rank = i + 1 答えはどちらでもかまわないのではないでしょうか? インクリメントを使っての答えは間違いとなりますがどうして??? 教えてください

  • Smartyでインクリメント

    Smartyで以下のような処理がしたいのですがうまくいきません・・・(横にセルを5コ並べた後に改行したい) どのように記述したらよいか教えて頂けますでしょうか。 <table> <tr> {$i = 0} {foreach item=item_list from=$item_list} <td>{$item_list.hoge|escape}</td> {$i = $i + 1} {if $i mod 4 eq 0} </tr><tr> {/if} {/foreach} </table>

    • ベストアンサー
    • PHP
  • 後置か、それとも前置インクリメントか

    class Sum{ public static void main(String[] args){ int s = 0 , i = 1; do{ i = ++i; s = s+1; }while(i < 10); System.out.println("1から" + i + "までの和は" + s); } } 上記のプログラムについて質問なんですが、 5行目、i = ++i; の部分を i = i++; と、 後置インクリメントにしたところ、実行時何も表示されませんでした。 前置・後置インクリメントの違いも調べましたが、なぜこうなるのかわかりません。どなたか教えていただけないでしょうか? それとも、こういうのは「なぜ?」と考えるだけムダなのでしょうか?

    • ベストアンサー
    • Java
  • インクリメント

    プログラミング用語でインクリメントとはどういう意味でしょうか?

  • auto_increment型

    phpPgAdmin上から、テーブル定義を行っています。 テーブルの中へ、auto_increment型の項目を追加したいと 考えております。 MySQLには、auto_increment型が存在しますが、PostgreSQLの場合 には、同じような型があるのでしょうか?もし、ない場合には、 一般的にどのような対応をしているのでしょうか?(例えば、 Insertする際にPGの中でincrementしているのでしょうか?) (1)auto_increment型の追加方法 (2)auto_increment型がない場合の、対処方法 以上の点に関して、お分かりになる方がいらっしゃいましたら、 ご教示をお願いいたします。

  • インクリメントデータについて

    お世話になります。 for()ループ回数の値をCString へ格納したいです。 以下に検討しましたが、エラーになります。 CString Data; CString pp; for( int i=0; i<100; i++ ){ pp.Format(_T("%s"),i); Data += pp; } 求めたいのは、CString Data変数に for()のint iの回数分を インクリメントデータとして格納したいです。 Data = 0,1,2,3,4,5,・・・・99 のようなデータです。 どうぞよろしくお願い致します。

  • マジカルインクリメントの実装について

    受け取った文字列を「数字 → アルファベット大文字 → 小文字」の順にマジカルインクリメントして返すようなサブルーチンを作りたいのですが、どのように実装すればよいのでしょうか? 通常のインクリメント演算子 (++) を使うと、数字ならば数字、大文字ならば大文字という規則でインクリメントされますが、それを拡張したいと思っています。 どなたか、大まかな手順のみでも構いませんので、ご教示いただければ幸いです。よろしくお願い致します。 OS: Windows XP ActivePerl v5.10.0

    • ベストアンサー
    • Perl