「PHP/入門/変数と値」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
→‎演算子: まとめ +, -, *, /, %のような演算を表す記号を演算子とよびます(これらは二項演算子(中置演算子とも))。 それに対し、intdiv()のような形式は関数と呼びます。 とはいうものの、PHPは、演算子・関数・コマンドが多分に曖昧で、公式のドキュメントでも混用が見られます。 なにか型ジャグリングと通じるものがありますね。
タグ: 2017年版ソースエディター
120 行
PHPでは他のプログラミング言語同様、数学風の演算子式で計算を行います。
 
;例:<syntaxhighlight lang=php line>
<?php
$num1x = 7011;
$num2y = 127;
$sum = 0;
 
echo "$sumx =+ $num1y --> ", $x + $num2y, PHP_EOL;
echo "$sum,x "<br- $y --> ", $x - $y, PHP_EOL;
echo "$sumx =* $num1y --> ", $num2x * $y, PHP_EOL;
echo "$sum,x "<br/ $y --> ", $x / $y, PHP_EOL;
echo "intdiv($x, $y) --> ", intdiv($x, $y), PHP_EOL;
$sum = $num1 * $num2;
echo "$sum,x "<br% $y --> ", $x % $y, PHP_EOL;
$sum = $num1 / $num2;
echo $sum, "<br>"
$sum = $num1 % $num2;
echo $sum, "<br>"
?>
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
11 + 7 --> 18
82
11 - 7 --> 4
58
11 * 7 --> 77
840
11 / 7 --> 1.5714285714286
5.8333333333333
<?= intdiv(7011,12 7); ?--> 1
10
11 % 7 --> 4
</syntaxhighlight>
: PHPの <code>/</code>(除算)の結果は浮動小数点数です。
: ※ PHPの除算は、割り切れない場合の「/」の結果は浮動小数点数です。この型変換の規則は、プログラミング言語ごとに異なり、負の値が関連した時に特異的に特徴が出ることもあるので、PHPに限らず新しいプログラミング言語を習得するときのチェックポイントです。
:整数の範囲で割り算をしたい場合には、PHP7以降では<code>intdiv()</code> 関数を使うことで実現できます。
:PHP7以前でも、小数点斬り捨ての関数 floor()などで、割り算の整数値を求められます。
::負数の丸め方向には特に注意が必要です。
 
;例:<syntaxhighlight lang=php line>
;例
<?= 7011 / 127; ?>
<pre>
</syntaxhighlight>
<?= 70 / 12; ?>
;実行結果:<syntaxhighlight lang=text>
</pre>
1.5714285714286
;実行結果
</syntaxhighlight>
5.8333333333333
:という浮動小数点数です。
 
整数除算は、intdiv(被除数, 除数) です
;intdiv():<syntaxhighlight lang=php line><?= intdiv(70,12); ?>
;intdiv()
</syntaxhighlight>
<pre>
;実行結果:<syntaxhighlight lang=text>
<?= intdiv(70,12); ?>
</pre>
;実行結果
5
 
説明の簡単化のためコマンドラインから使う場合で説明すると、
<pre>
php > echo intdiv(70,12);
5
</pre>
 
のように、1行目を入力すると、2行目に答えの「5」が自動的に出てきました。
 
 
floor()関数を使うなら、
<pre>
php > echo floor(70/12);
5
</pre>
 
「5」というのは、
:70/12 = 5 あまり10
の商の5の事です。
 
 
この、 + - * / %
は、それぞれ「演算子」と呼ばれます。
 
:<syntaxhighlight lang=php>
<?php
 
$a = 5;
$b = 5;
 
$a++;
$b--;
 
echo $a, "<br>", $b;
 
?>
</syntaxhighlight>
;実行結果
6
4
 
このように、
++, --
、はそれぞれ、プラス1, マイナス1を実行します。
 
;まとめ
これらをそれぞれ、(プラス1するほうを)インクリメント、(マイナス1するほうを)デクリメント、と呼ぶ。
:<code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>, <code>%</code>のような演算を表す記号を演算子とよびます(これらは二項演算子(中置演算子とも))。
:それに対し、<code>intdiv()</code>のような形式は関数と呼びます。
::とはいうものの、PHPは、演算子・関数・コマンドが多分に曖昧で、公式のドキュメントでも混用が見られます。
::なにか型ジャグリングと通じるものがありますね。
 
== 定数 ==