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á.
Các toán tử tăng/giảmLư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ị 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.
++ $ 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. |
Đây là một kịch bản ví dụ đơn giản:
<?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";
?>
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 $a = 'Z'; $a++; biến $a thành 'AA', trong khi trong C a = 'Z'; a++; biến null0 thành null1 (giá trị ASCII của null2 là 90, giá trị ASCII của null1 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.
Ví dụ #1 Hoạt động số học trên các biến ký tự
null4
Ví dụ trên sẽ xuất ra:
== Characters == X Y Z AA AB AC == Digits == A9 B0 B1 B2 B3 B4 A09 A10 A11 A12 A13 A14
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
null5
null6
null7
null8
null9
10aluciffer tại hotmail dot com ¶
8 năm trước
11
12
13Cleong at letStalk dot com ¶ ¶
21 năm trước
14
15
16
17
10Ayyappan dot ashok tại gmail dot com ¶ ¶
6 năm trước
19
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";0
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";1
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";2
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";3
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";4
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";5
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";6
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";7
DSBeam tại Gmail Dot Com ¶ ¶
13 năm trước
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";9
echo0
echo1
echo2
echo3
echo4
echo5Leo Zandvliet ¶ ¶
3 năm trước
echo6
echo7
echo8
echo9
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
0
$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";
?> 1
Ayyappan dot ashok tại gmail dot com ¶ ¶
6 năm trước
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
2
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
3
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
4
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
5
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
6
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?> 5
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
8
"<h3>Preincrement</h3>"; echo echo
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
9
$a = 'Z'; $a++;0
10DSBeam tại Gmail Dot Com ¶ ¶
13 năm trước
$a = 'Z'; $a++;2
$a = 'Z'; $a++;3
10Leo Zandvliet ¶ ¶
13 năm trước
$a = 'Z'; $a++;5
$a = 'Z'; $a++;6
$a = 'Z'; $a++;7
$a = 'Z'; $a++;8
10Leo Zandvliet ¶ ¶
21 năm trước
$a0