• ベストアンサー

++の意味が分かりません

try4.html <html xmlns="​http://www.w3.org/1999/xhtml"​ lang="ja" xml:lang="ja"> <head> <title>カンタンアンケート</title> </head> <body> <form action='try4-2.php' method='GET'> 性別:<br> <input type="radio" name="gender" value=0>男性 <input type="radio" name="gender" value=1>女性<br><br> 趣味(複数選択可):<br> <input type="checkbox" name="movies" value=1>映画  <input type="checkbox" name="music" value=1>音楽  <input type="checkbox" name="books" value=1>読書  <input type="checkbox" name="sports" value=1>スポーツ<br><br> ご意見をお書きください:<br> <textarea name="comment" rows="4" cols="40"></textarea><br><br> <input type="submit" value="送信"> <input type="reset" value="リセット"><br><br> </form> </body> </html> ////////////////////////////////////////////////////// try4-1.php <?php session_start(); ?> <html> <head><title>try4-1.php</title></head> <body> <?php $_SESSION = array(total_cnt => 0, male => 0, female => 0, movies => 0, music => 0, books => 0, sports => 0, comment => array("")); ?> //////////////////////////////////////////////////////////////// try4-2.php <?php session_start(); ?> <html> <head><title>try4-2.php</title></head> <body> <?php if ($_GET['gender'] == 0) ++$_SESSION['male']; elseif ($_GET['gender'] == 1) ++$_SESSION['female']; if ($_GET['movies']) ++$_SESSION['movies']; if ($_GET['music']) ++$_SESSION['music']; if ($_GET['books']) ++$_SESSION['books']; if ($_GET['sports']) ++$_SESSION['sports']; $_SESSION['comment'][] = $_GET['comment']; ++$_SESSION['total_cnt']; ?> 登録しました。さらに<A href="try4.html">入力する</A><br> これまでの集計結果を<A href="try4-3.php">表示する</A><br> </body> </html> ////////////////////////////////////////////////////////// try4-3.php <?php session_start(); ?> <html> <head><title>try4-3.php</title></head> <body> <?php echo "これまでにアンケートに応えたのは{$_SESSION['total_cnt']}人です。そのうち<br>"; if ($_SESSION['total_cnt']){ $male_rate = (int)($_SESSION['male'] / $_SESSION['total_cnt'] * 100); $female_rate = (int)($_SESSION['female'] / $_SESSION['total_cnt'] * 100); } else { $male_rate = 0; $female_rate = 0; } echo "男性:{$_SESSION['male']}人 $male_rate %<br>"; echo "女性:{$_SESSION['female']}人 $female_rate %<br><br>"; echo "趣味は映画:{$_SESSION['movies']}人、音楽:{$_SESSION['music']}人、読書:{$_SESSION['books']}人、" . "スポーツ:{$_SESSION['sports']}人<br><br>"; echo "意見:<br>"; foreach ($_SESSION['comment'] as $comment) echo $comment . "<br>"; ?> 集計を<A href="try4-1.php">初期化する</A><br> さらに<A href="try4.html">入力する</A><br> </body> </html> //////////////////////////////////////////////////////// とありますが、++$_SESSION['movies'];の ++の意味が分かりません。 数値を追加しろという意味ですか。

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

  • ベストアンサー
回答No.3

++はインクリメント、--はデクリメント、 式の前に記すのは前置式、式の後に記すのは後置式と呼ばれます。 $a = 1; $b = $a++; これは以下と同義です。 $a = 1; $b = $a; $a = $a + 1; ------------------------- $a = 1; $b = ++$a; これは以下と同義です。 $a = 1; $a = $a + 1; $b = $a; インクリメントとデクリメントの違いは足し引きの違いだけですから、 デクリメントも、上記例で同じように考える事が可能です。 質問のスクリプトでは特に代入等を行ってませんから、単純に「数値を加算している」 という解釈で問題ないでしょう。

abesouri
質問者

お礼

有難うございました。

その他の回答 (3)

  • NauticA
  • ベストアンサー率69% (16/23)
回答No.4

書籍からの引用を行う場合は必要最低限の引用にとどめる。 引用元の明示化をおこなうなどしてください。

参考URL:
http://seshop.com/detail.asp?pid=7615
abesouri
質問者

お礼

有難うございました。

  • wp_
  • ベストアンサー率54% (132/242)
回答No.2

それはインクリメントといいます。 「値を1増やして返す」 という意味です。逆に $i-- はデクリメントと言います。これは値を1減らして返します。 $i++と++$iの違いは下記コードを参照してください。 $i = 10; echo $i++; // 10 $i = 10; echo ++$i; // 11 $i++;は「値を返してから足す」 ++$i;は「足してから値を返す」 と言った違いがあります。 これはソースコードの簡素化を目的として用いられることが多いので、 慣れないうちは($i + 1)を使うと良いでしょう。

abesouri
質問者

お礼

有難うございました。

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.1

C言語だと ++i は i=i+1 の意味なのですが、それと同じじゃないでしょうか。

abesouri
質問者

お礼

有難うございました。

関連するQ&A

専門家に質問してみよう