PHP

初めてのPHPプログラミング 3.2 条件分岐

更新日:

前項の電卓は掛け算しかできない電卓でしたね。

入力側では、足し算とか、割り算とか選択していたのに、

掛け算しかできないプログラムでした。

これは、受け取ったPHPのプログラムが、入力側の何をしたいかを、
プログラムで判断していないからです。

強制的に掛け算にしていました。

数値はそのまま計算に使えますが
(本来は文字列を数値型に変更は必要ですが)、
+,-,*,/のこの文字列は直接使えなくて、
プログラムで判別しなければいけないのです。

数値のように、そのままの文字では使えないのです。

それを実現するのが、条件分岐というものです。


スポンサーリンク

マナブ記事広告g1




if文

”もし、caの値が+だったら、数値1と数値2を足しなさい。

そうでなかったら、もし、caの値がーだったら、
数値1から数値2を引きなさい・・・・・"

となるわけです。

 

次のPHPコードを入力してください。

また 前回の"dentaku1.html"の
7行目 <form action="./dentaku1.php" method="post">
の"dentaku1"を"dentaku2"に変更して下さい。

そして、
”http://localhost/phptest/dentaku1.html”

を実行して下さい。

dentaku2.php
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<title>dentaku2.html</title>
</head>
<body>
<?php
  $numb1=$_POST["num1"];
  $numb2=$_POST["num2"];
  $ca=$_POST["ca"];
  if($ca == "+"){
  echo $numb1.$ca.$numb2."=".($numb1 + $numb2)."<br>";
  }else if($ca == "-"){
   echo $numb1.$ca.$numb2."=".($numb1 - $numb2)."<br>";
  }else if($ca == "*"){
   echo $numb1.$ca.$numb2."=".($numb1 * $numb2)."<br>";
   }else if($ca == "/"){
   echo $numb1.$ca.$numb2."=".($numb1 / $numb2)."<br>";
 }
?>
</body>
</html>

case1:
if(式){
  処理
}

式の結果がTRUEだったら{}の中の処理を実行します。

FALSEだったら{}中の処理をしないで次に進みます。

case2:
if(式){
  処理a
}else{
      処理b
}

式の結果がTRUEだったら最初の処理aを実行します。

FALSEだったら処理aを実施しないで、処理bを実施し、

次に進みます。

case3:
if(式1){
  処理a
}else if(式2){
      処理b
}←①

式1の結果がTRUEだったら処理aを実施し、
最後の}(①)を抜けて次に進みます。

式1の結果がFALSEだったら、次のif文の式2を実行し、
式2の結果がTRUEだったら、処理bを実行し、
FLASEだったら、最後の}①を抜けて次に進みます。

else ifは何段も使うことができます。

上記のコードはこのcase3を使用してます。

無事電卓になってませんか?

マナブ記事広告g1




マナブ記事広告g1




-PHP

Copyright© なぞなぞとPHP開発 , 2018 All Rights Reserved.