Ai có thể giải thích lý do tại sao 2 sản xuất cùng một kết quả?php cùng một kết quả thêm số lượng khác nhau của vars
$a = 1;
$c = $a + $a++;
var_dump($c);//int(3)
và
$a = 1;
$c = $a + $a + $a++;
var_dump($c);//int(3)
Tested trong PHP 7.1. Đã xem xét các vùng mã hóa Opcode cho cả hai trường hợp nhưng vẫn không thể nhận được điểm. Nếu chúng ta thêm $ a vars vào biểu thức, nó tạo ra kết quả mong đợi.
tôi có thể điểm đó là similary này 'var_dump ((int) ((0,1 + 0,7) * 10)); // int (7)' ([một vấn đề chính xác float] (http://titanic.fauser.edu/php/lang uage.types.float.php.htm # warn.float-precision)). Nhưng tôi thực sự không biết. –
Xem thêm https://3v4l.org/3bWI0 – bishop
Điều này được giải thích ở đây: https://gist.github.com/nikic/6699370 Có lẽ cũng có một hoặc mười bản sao trên SO. – NikiC