あちあち情報局

趣味や日曜プログラムなどを書いています

ユーザ用ツール

サイト用ツール


サイドバー

メニュー

現在リニューアル中

タグ一覧

php:php_calc

(PHP)計算

PHPでは算術演算子を使って計算処理を行う事が出来ます。ここでは四則演算と剰余と累乗のみ紹介しますが、平方根(ルート)・三角関数・指数・対数・四捨五入などの計算も可能です。


算術演算子

加算・減算・乗算・除算・余剰・累乗(べき乗)が使えます。(累乗はPHP5.6以降)

<?php
  $a1=10+3;
  echo '<p>加算(+)結果 '.$a1.'</p>';
  $a2=10-3;
  echo '<p>減算(-)結果 '.$a2.'</p>';
  $a3=10*3;
  echo '<p>乗算(*)結果 '.$a3.'</p>';
  $a4=10/3;
  echo '<p>除算(/)結果 '.$a4.'</p>';
  $a5=10%3;
  echo '<p>余剰(%)結果 '.$a5.'</p>';
  $a6=10**3;
  echo '<p>累乗(**)結果 '.$a6.'</p>';
?>

実行結果

加算(+)結果 13

減算(-)結果 7

乗算(*)結果 30

除算(/)結果 3.3333333333333

余剰(%)結果 1

累乗(**)結果 1000

算術演算子の優先順位

算術演算子には次のような優先順位があります。

  • (1)「()」の中を真っ先に計算、二重カッコの場合は一番深いカッコの中から計算
  • (2)「* / %」は先に計算、「+ -」は後から計算
  • (3) 左側から計算
<?php
  $a1=1+1/2*3;
  echo '<p>左から計算 '.$a1.'</p>';
  $a2=1+1/(2*3)+1;
  echo '<p>()で右から計算 '.$a2.'</p>';
  $a3=1+2*3;
  echo '<p>+より*を先に計算 '.$a3.'</p>';
  $a4=(1+2)*3;
  echo '<p>()で+を先*は後に計算 '.$a4.'</p>';
?>

左から計算 2.5

()で右から計算 2.1666666666667

+より*を先に計算 7

()で+を先*は後に計算 9

インクリメントとデクリメント

$a++;$a--; と記述すると$aに1加算したり1減算する事ができます。処理結果は$a = $a+1;$a = $a-1; と変わりませんが処理が高速です。

= を使い通常の式として記述すると ++ -- の位置で効果が変わり、例えば $b = $a++; の結果と $b = ++$a; では$bの答えが変わります。

<?php
  $a1=10;
  $a1++;
  echo '<p>=なしインクリメントの結果 '.$a1.'</p>';
 
  $a2=10;
  $a2--;
  echo '<p>=なしデクリメントの結果 '.$a2.'</p>';
 
  $a3=10;
  $b3=++$a3;
  echo '<p>=ありインクリメント先の結果 $a3='.$a3.' $b3='.$b3.'</p>';
 
  $a4=10;
  $b4=$a4++;
  echo '<p>=ありインクリメント後の結果 $a4='.$a4.' $b4='.$b4.'</p>';
 
  $a5=10;
  $b5=--$a5;
  echo '<p>=ありデクリメント先の結果 $a5='.$a5.' $b5='.$b5.'</p>';
 
  $a6=10;
  $b6=$a6--;
  echo '<p>=ありデクリメント後の結果 $a6='.$a6.' $b6='.$b6.'</p>';
?>

実行結果

=なしインクリメントの結果 11

=なしデクリメントの結果 9

=ありインクリメント先の結果 $a3=11 $b3=11

=ありインクリメント後の結果 $a4=11 $b4=10

=ありデクリメント先の結果 $a5=9 $b5=9

=ありデクリメント後の結果 $a6=9 $b6=10

php/php_calc.txt · 最終更新: 2018/12/31 01:22 by 管理者