このレッスンでは、PHP 演算子について学びます。 PHP のすべての演算子とその使用領域を例を挙げて完全かつ詳細に説明しました。

1 つ以上の値の間で演算を実行する文字または単語は、演算子または演算子と呼ばれます。演算子は英語でoperator、トルコ語ではoperatorと呼ばれます。ただし、一部の情報源では演算子として言及されています。どちらも同じ意味を持ちます。

PHP オペレーター

PHP 算術演算子

PHP 算術演算子は数値とともに使用され、加算、減算、乗算などの一般的な算術演算を実行します。

オペレーター名前例
+追加$a + $b
-引き算$a - $b
*掛け算$a * $b
/部門$a / $b
%モジュラス(係数)$a % $b

PHP 算術演算子の例

加算演算子を使用して 2 つの値を加算します。この例では、php 加算演算子を使用しました。

echo 2+4; // Çıktı: 6

減算演算子を使用して、ある値を別の値から減算します。この例では、php 減算演算子を使用しました。

echo 5-2; // Çıktı: 3

除算演算子を使用して、ある値を別の値で除算します。この例では、php 分割演算子を使用しました。

echo 6/2; // Çıktı: 3

乗算演算子を使用して、ある値と別の値を乗算します。この例では、php 乗算演算子を使用しました。

echo 5*2; // Çıktı: 10

剰余演算子を使用すると、ある値を別の値で割ったときの余りが求められます。この例では、php モジュール演算子を使用しました。

echo 7%2; // Çıktı: 1

PHP 代入演算子

PHP 代入演算子は、値を割り当てるために使用されます。

オペレーター名前例
=割り当て$a = $b
+=収集して廃棄する$a +=4
-=減算と代入$a -=4
*=分割して割り当てる$a /=4
*=乗算と代入$a *=4
%=モジュールと割り当て$a%=4

PHP 代入演算子の例

等号演算子を使用して、右側の値を左側のオペランドに割り当てました。

$a = 20;

add と assign 演算子を使用して、左右の変数の合計を変数に代入しました。

$a = 10;
$b = 15; 
$a += $b; // $a değişkeninin değeri 25
// Üst satırdaki ifade ile $a = $a + $b ifadesi aynı.

減算と代入演算子を使用して、左側の変数の値から右側の変数の値を引いた結果を変数に代入しました。

$a = 20;
$b = 10; 
$a -= $b; // $a değişkeninin değeri 10
// Üst satırdaki ifade ile $a = $a - $b ifadesi aynı.

除算と代入演算子を使用して、左側の変数の値を右側の変数の値で何回割ることができるかの結果を変数に代入しました。

$a = 12;
$b = 4; 
$a /= $b; // $a değişkeninin değeri 3
// Üst satırdaki ifade ile $a = $a / $b ifadesi aynı.

multiply and assign 演算子を使用して、2 つの変数値を乗算した結果を変数に代入しました。

$a = 2;
$b = 2; 
$a *= $b; // $a değişkeninin değeri 4
// Üst satırdaki ifade ile $a = $a * $b ifadesi aynı.

module 演算子と assign 演算子を使用して、左側の変数の値を右側の変数の値で割った余りを変数に割り当てました。

$a = 8;
$b = 3; 
$a %= $b; // $a değişkeninin değeri 2
// Üst satırdaki ifade ile $a = $a % $b ifadesi aynı.

PHP 比較演算子

PHP 比較演算子は、2 つの値を比較するために使用されます。

オペレーター名前例
==等しい$a == $b
===同等の$a === $b
!=等しくない(等しくない)$a != $b
!==同一ではない$a !== $b
<>等しくない(等しくない)$a <> $b
>より大きい$a > $b
<以下$a < $b
>=以上$a >= $b
<=以下 (以下)$a <= $b

PHP 比較演算子の例

等号演算子を使用して 2 つの値が等しいかどうかを確認しました。

$a = 4;
$b = 2; 
if ($a == $b) {
    echo "A, B'ye eşittir";
} else {
    echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildir

同一の演算子を使用して 2 つの値の等価性を確認しました。

$a = 4;
$b = '4'; 
if ($a === $b) {
    echo "A, B'ye denktir";
} else {
    echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildir

等しくない演算子を使用して 2 つの値の不等価性をチェックしました。

$a = 4;
$b = 3; 
if ($a != $b) {
    echo "A, B'ye eşit değildir";
} else {
    echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

不等演算子を使用して 2 つの値の不等価性をチェックしました。

$a = 4;
$b = '4'; 
if ($a !== $b) {
    echo "A, B'ye denk değildir";
} else {
    echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildir

等しくない演算子を使用して 2 つの値の不等価性をチェックしました。

$a = 4;
$b = 2; 
if ($a <> $b) {
    echo "A, B'ye eşit değildir";
} else {
    echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

大なり演算子を使用して、左側の値が右側の値より大きいかどうかを確認しました。

$a = 4;
$b = 2; 
if ($a > $b) {
    echo "A, B'den daha büyüktür";
} else {
        echo "A, B'den daha büyük değildir";
}
// Çıktı: A, B'den daha büyüktür

小なり演算子を使用して、左側の値が右側の値より小さいかどうかを確認しました。

$a = 2;
$b = 4; 
if ($a &lt $b) {
    echo "A, B'den daha küçüktür";
} else {
        echo "A, B'den daha küçük değildir";
}
// Çıktı: A, B'den daha küçüktür

以上演算子を使用して、左側の値が右側の値以上であるかどうかを確認しました。

$a = 4;
$b = 2; 
if ($a >= $b) {
    echo "A, B'den daha büyüktür veya eşittir";
} else {
        echo "A, B'den daha büyük veya eşit değildir";
}
// Çıktı: A, B'den daha büyüktür veya eşittir

以下演算子を使用して、左側の値が右側の値以下であるかどうかを確認しました。

$a = 2;
$b = 4; 
if ($a <= $b) {
    echo "A, B'den daha küçüktür veya eşittir";
} else {
        echo "A, B'den daha küçük veya eşit değildir";
}
// Çıktı: A, B'den daha küçüktür veya eşittir

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

PHP インクリメント演算子は、変数の値を増やすために使用されます。 PHP デクリメント演算子は、変数の値を減らすために使用されます。

オペレーター名前
++$iインクリメントビフォア (プリインクリメント)
$i++インクリメント後(インクリメント後)
--$i減少前(減少前)
$i--デクリメント後(デクリメント後)

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

前置インクリメント演算子は、まず変数 $i の値を増加させてから、変数 $i を返します。

$i = 10;  
echo ++$i; // Çıktı: 11

次に、ポストインクリメント演算子は変数 $i を返し、変数 $i の値をインクリメントします。

$i = 10;  
echo $i++; // Çıktı: 10

プレデクリメント演算子は、まず変数 $i の値を減らしてから、変数 $i を返します。

$i = 10;  
echo --$i; // Çıktı: 9

次に、後置デクリメント演算子は変数 $i を返し、変数 $i の値をデクリメントします。

$i = 10;  
echo ++$i; // Çıktı: 10

PHP 論理演算子

PHP 論理演算子は、条件式を組み合わせるために使用されます。

オペレーター名前例
誓いそして(そして)$a と $b
またはまたは(または)$a または $b
クソクソ$a xor $b
&&そして(そして)$a && $b
||または(または)$a || $b
!ではありません(注)$a! $b

PHP 論理演算子の例

また、(and) 演算子は、$a と $b の条件が満たされる場合に true を返します。

$a = 100;
$b = 50;
if ($a === 100 and $b === 50) {
    echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktir

or (or) 演算子は、$a または $b の条件が満たされる場合に true を返します。

$a = 100;
$b = 50;
if ($a === 100 or $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

また、(and) 演算子は、$a と $b の条件が満たされる場合に true を返します。

$a = 100;
$b = 50;
if ($a === 100 && $b === 50) {
    echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktir

or (or) 演算子は、$a または $b の条件が満たされる場合に true を返します。

$a = 100;
$b = 50;
if ($a === 100 || $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

xor 演算子は、$a または $b の条件が満たされる場合にのみ true を返します。

$a = 100;
$b = 50;
if ($a === 100 xor $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

$a の条件が満たされない場合、not 演算子は true を返します。

$x = 50;
if ($x !== 75) {
    echo "X, 75'e denk değildir";
}
// Çıktı: X, 75'e denk değildir

PHP テキスト演算子 (文字列演算子)

PHP には、テキスト用に設計された 2 つの演算子があります。
連結演算子と連結代入演算子。

オペレーター名前例
.連結演算子$a 。 $b
.=連結代入演算子$a .= $b

PHP テキスト演算子の例

連結演算子は 2 つのデータを結合します。以下の例では、$a 変数と $b 変数のデータを結合して出力しています。

$a = "Hello ";
$b = " World!";
echo $a . $b;
// Çıktı: Hello World!

連結代入演算子は、最初のデータの次に 2 番目のデータを追加します。以下の例では、変数 $a のデータの隣に変数 $b のデータを追加し、変数 $a を出力します。

$a = "Hello ";
$b = " World!";
$a .= $b;
echo $a;
// Çıktı: Hello World!

PHP 配列演算子

PHP の配列演算子は配列を比較するために使用されます。

オペレーター名前例
+ユニオンオペレーター(ユニオン)$a + $b
==等価演算子 (等価)$a == $b
===等価演算子 (恒等式)$a === $b
!=不等式演算子 (不等式)$a != $b
<>不等式演算子 (不等式)$a <> $b
!==不均衡演算子 (非同一性)$a !== $b

PHP 配列演算子の例

Union 演算子は配列を結合します。

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
print_r($a + $b);
// Çıktı: Array ( [a] => kırmızı [b] => mavi [c] => yeşil [d] => sarı )

等価演算子 (equality) は、配列内で等価制御を提供します。等価演算子を使用すると、2 つの配列のデータが等しいかどうかを確認できます。

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a == $b) {
	echo "A, B'ye eşittir";
} else {
	echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildir

恒等演算子は、配列内の等価性制御を提供します。等価演算子を使用すると、2 つの配列のデータが等しいかどうかを調べることができます。

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a === $b) {
	echo "A, B'ye denktir";
} else {
	echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildir

不等号演算子 (inequality) は、配列内の不等号制御を提供します。不等演算子を使用すると、2 つの配列のデータが等しくないことがわかります。

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a != $b) {
	echo "A, B'ye eşit değildir";
} else {
	echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

不等号演算子 (inequality) は、配列内の不等号制御を提供します。不等演算子を使用すると、2 つの配列のデータが等しくないことがわかります。

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a  $b) {
	echo "A, B'ye eşit değildir";
} else {
	echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

非同一性演算子は、配列内で非同一性制御を提供します。不等演算子を使用すると、2 つの配列のデータが等価ではないことがわかります。

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a !== $b) {
	echo "A, B'ye denk değildir";
} else {
	echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildir

PHP の条件付き代入演算子

PHP の条件付き代入演算子は、条件に基づいて値を割り当てるために使用されます。

オペレーター名前例
?:三項演算子 (三項)$a = expr1 ?式2 : 式3
??Null Coalescing Operator (ヌル合体)$a = expr1 ?? expr2

PHP 条件付き代入演算子の例

三項演算子は条件付きデータを割り当てます。以下の例では、empty($user) 条件が true を返した場合は「ログインしていません」というデータを $status 変数に割り当て、false を返した場合は「ログイン済み」というデータを $status 変数に割り当てました。

// Örnek 1:
$user = "Onur Özden";
echo $status = (empty($user)) ? "giriş yapılmadı" : "giriş yapıldı";
// empty($user) koşulu false ise, $status değişkenine "giriş yapıldı" değerini ata, true ise $status değişkenine "giriş yapılmadı" değerini ata.
// Örnek 2:
$user = "Onur Özden";
echo $status = (empty($user)) ? 0 : 1;
// empty($user) = false ise, $status değişkenine 0 değerini ata, true ise $status değişkenine 1 değerini ata.

null 合体演算子は条件付きデータを割り当てます。最初のデータが存在し、null でない場合、$a の値が最初のデータになります。最初のデータが存在しないか、null の場合、$a の値が 2 番目のデータになります。以下の例では、empty($user) 条件が true を返した場合は「ログインしていません」というデータを $status 変数に割り当て、false を返した場合は「ログイン済み」というデータを $status 変数に割り当てました。

// $_GET['user'] varsa ve null değilse $user değişkenine değer olarak atanır, $_GET['user'] yoksa veya null ise $user değişkenine "giriş yapılmadı" metni değer olarak tanır. 
echo $user = $_GET['user'] ?? 'giriş yapılmadı';
// Çıktı: giriş yapılmadı
// $car değişkeni varsa ve null değilse $car değişkenine $car değişkeninin değeri atanır, $car değişkeni yoksa veya null ise $car değişkenine 'BMW' değeri atanır. 
echo $color = $color ?? 'BMW';
// Çıktı: BMW

PHP オペレーターの優先順位

オペレータの優先順位の例

数学と同様、PHP の演算子にはいくつかの優先順位の値があります。これを例で理解してみましょう。

echo 3 + 5 * 2; // Çıktı: 13

上記のプロセスでは、出力は 13 になります。これは、加算よりも乗算が優先されるためです。したがって、最初に乗算が実行され、次に加算が実行されました。ただし、処理の優先順位に介入することは可能です。

echo (3 + 5) * 2; // Çıktı: 16

上記の処理では、出力は 16 になります。括弧内に入れて加算処理を優先したためです。したがって、最初に加算が実行され、次に乗算が実行されます。このようにしてトランザクションの優先順位に介入しました。

オペレータの優先順位表

以下の表では、演算子が優先順位の最も高いものから最も低いものの順にリストされています。同じ回線上のオペレータの優先順位は同じであり、それらのオペレータが処理される順序は評価中に決定されます。以下に、PHP のすべての演算子の優先順位表を示します。

帰属演算子
(なし)clone new
(なし)**
右から+ - ++ -- ~ (int) (float) (string) (array) (object) (bool) @
左からinstanceof
(なし)!
左から* / %
左から+ - .
左から<< >>
左から.
方向性のない< <= > >=
方向性のない== != === !== <> <=>
左&
左から^
左から|
左から&&
左から||
そうだよ??
方向性のない? :
右から= += -= *= **= /= .= %= &= |= ^= <<= >>= ??=
(なし)yield from
(なし)yield
(なし)print
左からand
左からxor
左からor

このテーブルはphp.netから取得したものです。出典: https://www.php.net/manual/tr/language.operators.precedence.php