PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのインクリメント/デクリメント演算子


はじめに

++で表されるCスタイルのインクリメントおよびデクリメント演算子 および- それぞれPHPでも定義されています。名前が示すように、++インクリメント演算子はオペランド変数の値を1インクリメントします。デクリメント演算子-値を1デクリメントします。どちらもオペランドが1つだけ必要なため、単一演算子です。これらの演算子(++または-)は、式として、またはより複雑な式の他の演算子と一緒に、接頭辞または接尾辞の方法で使用できます。

構文

$x=5;
$x=5;
$y=5;
$x++; //postfix increment
$y--; //postfix decrement

++$y; //prefix increment
--$x; //prefix decrement

独立して使用する場合、接尾辞と接頭辞のインクリメント/デクリメント演算子は同じように動作します。その結果、$x++と++$xは両方とも$xの値を1ずつインクリメントします。同様に$y--と-$yは両方とも$yの値を1だけデクリメントします

次のコードは、ポスト/プレフィックス方式でのインクリメント/デクリメント演算子の効果を示しています

<?php
$x=5;
$y=5;
$x++; //postfix increment
$y--; //postfix decrement
echo "x = $x y = $y" . "\n";
++$y; //prefix increment
--$x; //prefix decrement
echo "x = $x y = $y" . "\n";;
?>

出力

以下の結果が表示されます

x = 6 y = 4
x = 5 y = 5

代入式で使用する場合、接尾辞++または--演算子の優先順位は=よりも低くなります。したがって、$ a =$x++の結果は$a=$ xになり、その後に$x++が続きます。一方、プレフィックス++/-演算子は=よりも優先されます。したがって、$ b =-$ yは、最初に-$ yを実行し、次に結果の$yを$bに割り当てることによって評価されます

<?php
$x=5;
$y=5;
$a=$x++; //postfix increment
echo "a = $a x = $x" . "\n";
$b=--$y; //prefix decrement
echo "b = $b y = $y" . "\n";
?>

出力

以下の結果が表示されます

a = 5 x = 6
b = 4 y = 4

ASCII文字変数によるインクリメント/操作も可能です。インクリメントすると、ASCIIセットの次の文字になります。インクリメントがセットを超える場合、つまりZを超える場合、ASCIIセットの次のラウンドが繰り返されます。つまり、値Zの変数がAAにインクリメントされます。非ASCII文字(A-Z、a-z、および0-9以外)は、インクリメント演算子によって無視されます。

<?php
$var='A';
for ($i=1; $i<=3; $i++){
   echo ++$var . "\n";
}
$var1=1;
for ($i=1; $i<=3; $i++){
   echo ++$var1 . "\n";
}
?>

出力

以下の結果が表示されます

B
C
D
2
3
4

  1. C#のインクリメント(++)およびデクリメント(-)演算子とは何ですか?

    インクリメント演算子 C#で値をインクリメントするには、インクリメント演算子、つまりプリインクリメント演算子とポストインクリメント演算子を使用できます。 以下は例です- 例 using System; class Demo {    static void Main() {       int a = 250;       Console.WriteLine(a);       a++;       Console.WriteLine(a); &

  2. C#でのISとASの演算子

    IS演算子 C#の「is」演算子は、オブジェクトの実行時型が特定の型と互換性があるかどうかを確認します。 構文は次のとおりです- expr is type ここでは、 expr 式です タイプ タイプの名前です 以下は、C#&minis;でのis演算子の使用法を示す例です。 例 using System; class One { } class Two { } public class Demo {    public static void Test(object obj) {       One x;   &nbs