PHP hỗ trợ các toán tử trước và sau khi tăng và sau khi tăng cường và giảm giá. Lưu ý: Các toán tử tăng/giảm chỉ ảnh hưởng đến số và chuỗi. Mảng, đối tượng, booleans và tài nguyên không bị ảnh hưởng. Các giá trị Đây là một kịch bản ví dụ đơn giản: PHP tuân theo quy ước của Perl khi xử lý các hoạt động số học trên các biến ký tự chứ không phải C. Ví dụ, trong PHP và Perl Ví dụ #1 Hoạt động số học trên các biến ký tự Ví dụ trên sẽ xuất ra: Booleans tăng hoặc giảm không có tác dụng. Hartmut tại php dot net ¶ ¶ 10 năm trước Ayyappan dot ashok tại gmail dot com ¶ ¶ 6 năm trước
Các toán tử tăng/giảm
null
giảm cũng không có hiệu lực, nhưng việc tăng chúng dẫn đến 1
.: The increment/decrement operators only affect numbers and strings. Arrays, objects, booleans and resources are not affected. Decrementing null
values has no effect too, but incrementing them results in 1
. Thí dụTênHiệu ứng ++ $ a Trước khi tăng Tăng $ a từng người một, sau đó trả về $ a. $ a ++ Hậu kỳ Trả về $ a, sau đó tăng $ a từng người một. -$ a Tuyên bố trước Giảm $ a từng người một, sau đó trả về $ a. $ a-- Sự suy thoái sau Trả về $ a, sau đó giảm $ a từng người một.
$a = 'Z'; $a++;
biến $a
thành 'AA'
, trong khi trong C a = 'Z'; a++;
biến null
0 thành null
1 [giá trị ASCII của null
2 là 90, giá trị ASCII của null
1 là 91]. Lưu ý rằng các biến ký tự có thể được tăng lên nhưng không bị giảm và thậm chí chỉ có bảng chữ cái và chữ số ASCII đơn giản [A-Z, A-Z và 0-9] được hỗ trợ. Tăng/giảm các biến ký tự khác không có tác dụng, chuỗi ban đầu không thay đổi.null
4== Characters ==
X
Y
Z
AA
AB
AC
== Digits ==
A9
B0
B1
B2
B3
B4
A09
A10
A11
A12
A13
A14
null
5null
6null
7null
8null
91
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
1
0aluciffer tại hotmail dot com ¶
7 năm trước
0
echo
9
echo echo"
2Preincrement
";
$a = 5;
echo "Should be 6: " . ++$a . "\n";
echo "Should be 6: " . $a . "\n";Postdecrement
";
$a = 5;
echo "Should be 5: " . $a-- . "\n";
echo "Should be 4: " . $a . "\n";Predecrement
";
$a = 5;
echo "Should be 4: " . --$a . "\n";
echo "Should be 4: " . $a . "\n";
?>
echo"
Preincrement
";
$a = 5;
echo "Should be 6: " . ++$a . "\n";
echo "Should be 6: " . $a . "\n";
Postdecrement
";$a = 5;
echo "Should be 5: " . $a-- . "\n";
echo "Should be 4: " . $a . "\n";
echo
"Predecrement
";$a = 5;
echo "Should be 4: " . --$a . "\n";
echo "Should be 4: " . $a . "\n";
?> 3
echo echo"
4Preincrement
";
$a = 5;
echo "Should be 6: " . ++$a . "\n";
echo "Should be 6: " . $a . "\n";Postdecrement
";
$a = 5;
echo "Should be 5: " . $a-- . "\n";
echo "Should be 4: " . $a . "\n";Predecrement
";
$a = 5;
echo "Should be 4: " . --$a . "\n";
echo "Should be 4: " . $a . "\n";
?>
1
0aluciffer tại hotmail dot com ¶
7 năm trước
echo echo"
6Preincrement
";
$a = 5;
echo "Should be 6: " . ++$a . "\n";
echo "Should be 6: " . $a . "\n";Postdecrement
";
$a = 5;
echo "Should be 5: " . $a-- . "\n";
echo "Should be 4: " . $a . "\n";Predecrement
";
$a = 5;
echo "Should be 4: " . --$a . "\n";
echo "Should be 4: " . $a . "\n";
?>
echo echo"
7Preincrement
";
$a = 5;
echo "Should be 6: " . ++$a . "\n";
echo "Should be 6: " . $a . "\n";Postdecrement
";
$a = 5;
echo "Should be 5: " . $a-- . "\n";
echo "Should be 4: " . $a . "\n";Predecrement
";
$a = 5;
echo "Should be 4: " . --$a . "\n";
echo "Should be 4: " . $a . "\n";
?>
echo echo"
8Preincrement
";
$a = 5;
echo "Should be 6: " . ++$a . "\n";
echo "Should be 6: " . $a . "\n";Postdecrement
";
$a = 5;
echo "Should be 5: " . $a-- . "\n";
echo "Should be 4: " . $a . "\n";Predecrement
";
$a = 5;
echo "Should be 4: " . --$a . "\n";
echo "Should be 4: " . $a . "\n";
?>
echo"
Preincrement
";
$a = 5;
echo "Should be 6: " . ++$a . "\n";
echo "Should be 6: " . $a . "\n";
Postdecrement
";$a = 5;
echo "Should be 5: " . $a-- . "\n";
echo "Should be 4: " . $a . "\n";
echo
"Predecrement
";$a = 5;
echo "Should be 4: " . --$a . "\n";
echo "Should be 4: " . $a . "\n";
?> 9
$a = 'Z'; $a++;
0
$a = 'Z'; $a++;
1Cleong at letStalk dot com ¶ ¶
20 năm trước
$a = 'Z'; $a++;
2
$a = 'Z'; $a++;
3
1
0DSBeam tại Gmail Dot Com ¶ ¶
13 năm trước
$a = 'Z'; $a++;
5
$a = 'Z'; $a++;
6
$a = 'Z'; $a++;
7
$a = 'Z'; $a++;
8
1
0Leo Zandvliet ¶ ¶
3 năm trước
$a
0