「+=」と「=+」の違いは?

このQ&Aのポイント
  • phpで「+=」と「=+」の違いについて説明します。
  • 「+=」は、左辺の変数に右辺の値を加算して代入する演算子です。
  • 一方、「=+」は、右辺の値を左辺の変数に代入する演算子です。
回答を見る
  • ベストアンサー

phpで「+=」と「=+」の違いは?

phpで「+=」と「=+」の違いは? 以下のコードを実行すると。。。 ==================== <?php $a = 1; $b=5; $b += $a; echo '$a is ' . $a . "<br>"; echo '$b is ' . $b . "<br>"; echo "<hr>"; $p = 1; $q=5; $q =+ $p; echo '$p is ' . $p . "<br>"; echo '$q is ' . $q . "<br>"; ==================== $a is 1 $b is 6 -------------- $p is 1 $q is 1 となります。 $a is 1 $b is 6 はわかりますが、 $p is 1 $q is 1 がどうしてこうなるかわかりません。 お教えいただけますでしょうか? また、普通「=+」って使わないですか? ”plus equal operator"でぐぐったらいっぱいヒットするのに、 ”equal plus operator"でぐぐったら関係ないのが1件ヒットするだけなので。 よろしくお願い申し上げます。

  • PHP
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

$b += $a; は「+=」という代入演算子で $b = $b + $a; と解釈される $q =+ $p; は「=+」というひと固まりの演算子はなく、 「=」という代入演算子と「+」という算術演算子に分けられ $q = (+ $p); ということ($pの符号を変えずに$qに代入するだけ)

その他の回答 (1)

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

$q =+ $p;は $q = + $p; と同じこと。 つまり、 $q =- $p; $q = - $p; と書けばわかりますか?

dicemiyagawa
質問者

お礼

ありがとうございます。 >$q = + $p; +=とくらべて、 は、$q = 1* $p; (単に$pの符号をそのまま明示して、正の数のまま代入しているだけですか?) お手数をお掛けして恐縮ですが、よろしくお願い申し上げます。

関連するQ&A

  • phpがうまく動きません。

    phpで4択のクイズを作りたいのですが 正解のラジオボタンを選んでもカウントされないのと 答え合わせを押すと正解だった箇所を赤く表示したいのですがなんて書けばよいのか どこにそのコードを入れるのかよくわかりません <状態> ・5つのデータがmyadminに保存されています ・データベースの内容は表示されます。 ・答え合わせを押すと正解のラジオボタンを選んだ数が表示されるようにしたいです ・保存ボタンは閉じても答えを保存するためにあります ・q_noは8ケタ固定であり、左から5つ目までは固定であと3桁は999問入れられるよう設定してあります ・q_ansはデータベースに答えの値(1~4)が入れてあります ・データベース名はproblemです <省略> $res_set = mysql_query($sql); while ($row=mysql_fetch_array($res_set)){ ?> <form method="POST" action="H2102.php"> <?php echo $row['q_no'] . " "; ?> <br> <?php echo $row['q_text'] . " "; ?><br><br> <br> <?php echo "ア"; ?> <input type="radio" name="q_ans" value="1"> <?php echo $row['q_point1'] . " "; ?> <br><br><br> <?php echo "イ"; ?> <input type="radio" name="q_ans" value="2"> <?php echo $row['q_point2'] . " "; ?> <br> <br><br> <?php echo "ウ"; ?> <input type="radio" name="q_ans" value="3"> <?php echo $row['q_point3'] . " "; ?> <br><br><br> <?php echo "エ"; ?> <input type="radio" name="q_ans" value="4"> <?php echo $row['q_point4'] . " "; ?> <br><br><br> <br> <input type = "submit" name="save" value="保存"> <?php if(isset($_POST['save'])){ $_SESSION['save'] = $_POST['q_ans']; //保存すると選んだ回答を保存 } ?> <?php } ?> </form> <form method="POST" action="H2102.php"> <input type = "submit" name="ans" value="答え合わせ"> <?php //正解かどうかをチェック if(isset($_POST['ans'])){ $a = $_SESSION['a']; if($row['q_no'] == $_POST['q_no'] && $_POST['q_ans'] || $_SESSION['save'] == $row['q_ans'] ){ $_SESSION['a'] = $a + 1; //q_noが一致かつ保存した値または選んだ解答(値)が一致していれば1問につき1つカウントする $a = $_SESSION['a']; } echo $a; //カウントされているかをチェック } ?> <input type = "submit" name="del" value="カウント初期化"> <?php if(isset($_POST['del'])){ session_unset(); } ?> </form> <br> <?php } ?> 足りない情報があれば追記します

    • 締切済み
    • PHP
  • PHPについて

    htmlでページを作って見ましたが同じ項目を何ページも記入しなければいけませんので1つのファイルを常に貼り付けるよう出来るにはどういう風にすればよろしいですか? 例えば↓ <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <HR> <P>□項目1<BR> □項目2<BR> □項目3<BR> □項目4<BR> □項目5<BR> □項目6<BR> □項目7<BR> □項目8</P> <HR> <P>□項目A<BR> □項目B<BR> □項目C<BR> □項目D<BR> □項目E<BR> □項目F<BR> □項目G<BR> □項目H</P> <HR> <P>□項目1<BR> □項目2<BR> □項目3<BR> □項目4<BR> □項目5<BR> □項目6<BR> □項目7<BR> □項目8</P> <HR> </BODY> こういう風に自動でなるようにしたいのですが、 どなたか宜しくお願いします。 </HTML>

    • 締切済み
    • PHP
  • phpのパス指定

    初めてphpを触っています。 いくつかの処理を外部ファイルにしたいのですが パスの指定が悪いのか、同じ階層に置いたり、いろいろ試してもfatal error ばかりです。 どこが悪いのか、教えていただけないでしょうか? サンプルとして、moto.phpのなかのincludeフォルダー内の外部ファイル:func.phpを実行することとします。 moto.php <?php require "./include/func.php"); $a = 2; $b = 1; $c = $a - $b * $a; echo return_word($a); echo "<br>"; //改行 echo return_word($b); echo "<br>"; //改行 echo return_word($c); ?> func.php <? php function return_word ( $data ){ if ( $a==1){ return "a"; }else if ($a==2){ return "b"; }else{ return "c"; } } ?> コマンドラインから php moto.php を実行すると <? php function return_word ( $data ){ if ( $a==1){ return "a"; }else if ($a==2){ return "b"; }else{ return "c"; } } ?> Fatal error: Call to undefined function return_word() in C:\xxxxxx\php\moto.php on line 9 となってしまいます。 外部ファイルは見えているようなのに、どうして関数がundefined になってしまうのでしょうか? phpの基本的なことなのかもしれませんが よろしくアドバイスお願いできればと思います。

    • ベストアンサー
    • PHP
  • html内にphpを混ぜる時

    <?php if(a > b){ echo "<p>hello!</p>"; }else{ echo "<p>see you!</p>"; } ?> こういう事ってよくあると思いますが、一々echoなどを使ってhtmlを吐き出させるのはあまりスマートに感じません。 他にやり方はあるのでしょうか?

    • ベストアンサー
    • PHP
  • phpが実行エラー

    xamppのphpで次のようなサンプルコードを実行する、   <?php echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; ?> このコードに対して、次のような結果が返ってくる?、 "; echo "こんにちは。 "; echo "こんにちは。 "; echo "こんにちは。 "; ?>  このように、ほとんどソースコードそのものの結果になってしまう。 xamppのコンソールビューには  [3812] WARNING: pipe error: 109: file c:/builds/moz2_slave/rel-m-rel-w32_bld-000000000000/build/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 310 NOTE: child process received `Goodbye', closing down と表示されているのですが、英文のため!!(英文でなくても)さっぱりわかりません。  どなたか!解決方法を教えてください。 OSはWindows7. Aptanaのバージョンは3.4..2 xamppはwin32-1.8.0-VC9-installer.exe です、よろしくおねがいします。

    • 締切済み
    • PHP
  • PHPの入力フォームの確認画面の構文エラー

    <?php session_start(); require_once "define.php"; echo "<b>質問内容</b><br>"; echo "タイトル : ".htmlspecialchars($_SESSION[TITLE], ENT_QUOTES)."<br>"; echo "URL : ".htmlspecialchars($_SESSION[URL], ENT_QUOTES)."<br>"; echo "メール : ".htmlspecialchars($_SESSION[MAIL], ENT_QUOTES)."<br>"; echo "<br>質問ありがとうございました。<br><br>"; echo "<a href=\"./index.php\">入力フォームに戻る</a>"; ?> こういう感じのPHPの構文を書いたんですがなぜか echoで表示してあるタイトル、URL、メールのところが ちゃんと表示されません define.phpは間違いなくちゃんとファイルとして書いてあります どこか間違っているところがあるのでしょうか? 原因がわかりません、一日中悩んだけど 答えがわかりません、どなたかよろしくお願いします。

    • 締切済み
    • PHP
  • PHPがおかしい

    $GET['type']が"login"でも"tutorial_hsp"と同じ挙動をしてしまいます。 部分のスクリプトはこんな感じです。 if(!isset($_GET['type'])){ echo "<h2>14ちゃんねるデベロッパーメニュー</h2>"; echo "<p><a href=\"menu.php?type=tutorial_hsp\">14ちゃんねるの扱い方<a href=\"https://hsp.tv\">(HSP)</a></a></p>"; echo "<p><a href=\"https://ux.getuploader.com/14channel/\">作ったツールのアップロード(別サイトに飛びます)</a></p>"; echo "<p><a href=\"../program\">作ったツールの宣伝</a></p>"; }else{ if($_GET['type'] = "tutorial_hsp"){ echo "<h2>14ちゃんねるの扱い方(HSP)</h2>"; echo "<p>"; echo "まずは、<a href=\"hsp.tv\">HSP</a>をインストールしてください。<br>"; echo "そうしたら、「HSPスクリプトエディタ」を開いて、以下のスクリプトを入力してください。"; echo "</p>"; echo "続きは制作中です..."; }else{ if($_GET['type'] = "login"){ echo "<h2>404 Not Found</h2>"; } } } URL: http://arkmonster.r.ribbon.to/developer/menu.php?type=login

  • PHPで使うis_null()関数

    PHP学習者です。 is_null() 関数の使い方で混乱しています。 添付の様な<form>を持つファイル nulltest.php と、それを受けて入力が nullかどうかを検証するファイルreceivee.php を作りました。 入力に何かを入れても、なにも入れなくてもis_null()は何も返しません、というか、False を返しているのだと思います。 逆に、!is_null() と否定形にすると、入力があっても無くても1,つまりtrue が返ります。 入力があれば true が返り、入力が無ければ false が返るようにするにはどうしたらよいのでしょうか?詳しい方どうか教えてください。 上記自作のファイルを以下にコピーします。 <?php echo "------------- nulltest.php ----------------</br>"; $no=null; echo "<form method='post' action='receive.php'>"; echo "<input type='text' name='testinput' value=".$no.">"; echo "<input type='submit' value='ok'>"; echo "</form>"; ?> <?php echo "------------- receive.php ------------------</br>"; $input=$_POST['testinput']; echo "======== ".$input." is ".is_null(input)."</br>"; ?>

    • ベストアンサー
    • PHP
  • phpで5で割って余りを表示させない方法

    phpで5で割って余りを表示させない方法を探しています。 例えば <?php for ($i = 1; $i < 15; $i++) { echo $i; if ($i % 5 == 0) { echo "<br />"; }} ?> を実行させた場合 12345<br/> 678910<br/> 11121314 となりますが、この場合11から14までを表示させないようにすればどうすればできますか?

    • 締切済み
    • PHP
  • phpの中でphpを書けないか

    説明するより以下のコードを見てもらったほうが早いと思います。 <?php print("TEST:php in php <?php print(\"TEST:php in php<br>\"); ?><br>"); ?> <?php ?> の中にphpを入れ子にしたいのですが、このまま実行したらうまくいきませんでした。そもそもこういうことは可能なのでしょうか?可能ならばどのようにコードを書けばよいのでしょうか?

    • ベストアンサー
    • PHP

専門家に質問してみよう