PHP8 遞增/遞減運(yùn)算符

2023-08-15 15:38 更新

PHP 支持 C 風(fēng)格的前/后遞增與遞減運(yùn)算符。

注意: 遞增/遞減運(yùn)算符不影響布爾值。遞減 null 值也沒有效果,但是遞增 null 的結(jié)果是 1。
遞增/遞減運(yùn)算符
例子 名稱 效果
++$a 前加 $a 的值加一,然后返回 $a。
$a++ 后加 返回 $a,然后將 $a 的值加一。
--$a 前減 $a 的值減一, 然后返回 $a
$a-- 后減 返回 $a,然后將 $a 的值減一。

一個(gè)簡單的示例腳本:

<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";

echo "<h3>Preincrement</h3>";
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";

echo "<h3>Postdecrement</h3>";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";

echo "<h3>Predecrement</h3>";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>

在處理字符變量的算數(shù)運(yùn)算時(shí),PHP 沿襲了 Perl 的習(xí)慣,而非 C 的。例如,在 Perl 中 $a = 'Z'; $a++; 將把 $a 變成'AA',而在 C 中,a = 'Z'; a++; 將把 a 變成 '['('Z' 的 ASCII 值是 90,'[' 的 ASCII 值是 91)。注意字符變量只能遞增,不能遞減,并且只支持純 ASCII 字母數(shù)字(a-z、A-Z 和 0-9)。遞增/遞減其他字符變量則無效,原字符串沒有變化。

示例 #1 涉及字符變量的算數(shù)運(yùn)算

<?php
echo '== Alphabetic strings ==' . PHP_EOL;
$s = 'W';
for ($n=0; $n<6; $n++) {
echo ++$s . PHP_EOL;
}
// 字母數(shù)字字符串的不同行為
echo '== Alphanumeric strings ==' . PHP_EOL;
$d = 'A8';
for ($n=0; $n<6; $n++) {
echo ++$d . PHP_EOL;
}
$d = 'A08';
for ($n=0; $n<6; $n++) {
echo ++$d . PHP_EOL;
}
?>

以上示例會(huì)輸出:

== Alphabetic strings ==
X
Y
Z
AA
AB
AC
== Alphanumeric strings ==
A9
B0
B1
B2
B3
B4
A09
A10
A11
A12
A13
A14

遞增或遞減布爾值沒有效果。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)