在本课中,我们将学习 PHP 运算符。我们通过示例完整详细地解释了 PHP 中的所有运算符及其使用范围。
在一个或多个值之间执行运算的字符或单词称为运算符或运算符。运算符的英文单词是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 split 运算符:
echo 6/2; // Çıktı: 3我们使用乘法运算符将一个值乘以另一个值。在此示例中,我们使用了 php 乘法运算符:
echo 5*2; // Çıktı: 10使用模运算符,我们可以找到一个值除以另一个值时的余数。在此示例中,我们使用了 php 模块运算符:
echo 7%2; // Çıktı: 1PHP 赋值运算符
PHP 赋值运算符用于赋值。
| 操作员 | 姓名 | 例子 |
| = | 作业 | $a = $b |
| += | 收集和丢弃 | $a+=4 |
| -= | 减法和赋值 | $a -=4 |
| *= | 划分和分配 | $a /=4 |
| *= | 乘法和赋值 | $a *=4 |
| %= | 模块和分配 | $a%=4 |
PHP 赋值运算符示例
我们使用等于运算符将右侧的值分配给左侧的操作数。
$a = 20;我们使用添加和赋值运算符将左右变量的总和分配给变量。
$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ı.通过乘法和赋值运算符,我们将两个变量值相乘的结果赋给变量。
$a = 2;
$b = 2;
$a *= $b; // $a değişkeninin değeri 4
// Üst satırdaki ifade ile $a = $a * $b ifadesi aynı.使用模块和赋值运算符,我们将左侧变量的值除以右侧变量的值所得的余数分配给变量。
$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 比较运算符用于比较两个值。
| 操作员 | 姓名 | 例子 |
| == | 平等 | $a==$b |
| === | 同等 | $a === $b |
| != | 不等于(不等于) | $a!=$b |
| !== | 不相同 | $a !== $b |
| <> | 不等于(不等于) | $a <> $b |
| > | 大于 | $a > $b |
| < | 小于 | $a < $b |
| >= | 大于或等于 | $a >= $b |
| <= | 小于或等于(小于或等于) | $a <= $b |
PHP 比较运算符示例
我们使用等于运算符检查两个值是否相等。
$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我们使用相同的运算符检查两个值的等价性。
$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我们使用不等于运算符检查两个值的不等式。
$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我们使用不相同运算符检查两个值的不等式。
$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我们使用不等于运算符检查两个值的不等式。
$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 < $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şittirPHP 自增/自减运算符
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ı: 10PHP 逻辑运算符
PHP 逻辑运算符用于组合条件表达式。
| 操作员 | 姓名 | 例子 |
| 誓言 | 和(和) | $a 和 $b |
| 或 | 或(或) | $a 或 $b |
| 异或 | 异或 | $a 异或 $b |
| && | 和(和) | $a && $b |
| || | 或(或) | $a || $b |
| ! | 不是(注) | $a! $b |
PHP 逻辑运算符示例
如果满足 $a 和 $b 中的条件,则 (and) 运算符返回 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如果满足 $a 或 $b 中的条件,则 or (or) 运算符返回 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如果满足 $a 和 $b 中的条件,则 (and) 运算符返回 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如果满足 $a 或 $b 中的条件,则 or (or) 运算符返回 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仅当满足 $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ğildirPHP 文本运算符(字符串运算符)
PHP 有 2 个专为文本设计的运算符:
连接运算符和连接赋值运算符。
| 操作员 | 姓名 | 例子 |
| . | 串联运算符 | $a . $b |
| .= | 串联赋值运算符 | $a .= $b |
PHP 文本运算符示例
串联运算符组合两个数据。在下面的示例中,我们组合了 $a 和 $b 变量的数据并打印它们。
$a = "Hello ";
$b = " World!";
echo $a . $b;
// Çıktı: Hello World!串联赋值运算符将第二个数据添加到第一个数据的旁边。在下面的示例中,我们将变量 $b 的数据添加到变量 $a 的数据旁边,并打印变量 $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 数组运算符示例
联合运算符组合数组。
$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)提供数组中的相等控制。我们可以通过相等运算符判断两个数组的数据是否相等。
$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恒等运算符提供数组中的相等控制。我们可以通过等价运算符判断两个数组的数据是否等价。
$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不等式运算符(不等式)提供数组中的不等式控制。通过不等式我们可以知道两个数组的数据不相等。
$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不等式运算符(不等式)提供数组中的不等式控制。通过不等式我们可以知道两个数组的数据不相等。
$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非恒等运算符在数组中提供非恒等控制。通过不等运算符我们可以发现两个数组的数据不等价。
$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ğildirPHP 条件赋值运算符
PHP 的条件赋值运算符用于根据条件赋值。
| 操作员 | 姓名 | 例子 |
| ?: | 三元运算符(三元) | $a = expr1 ?表达式2 : 表达式3 |
| ?? | 空合并运算符(空合并) | $a = expr1 ??表达式2 |
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.空合并运算符分配条件数据。如果第一个数据存在且不为空,则$a的值为第一个数据。如果第一个数据不存在或者为空,则$a的值为第二个数据。在下面的示例中,如果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ı: BMWPHP 运算符优先级
操作员优先级示例
与数学一样,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



