2011-07-09 35 views
6

Có một sự khác biệt giữa hai báo cáo:Variable trước hoặc sau khi giá trị trong NẾU tuyên bố

if ($a == 'hello') { ... }

if ('hello' == $a) { ... }

tôi đã nhận thấy các ứng dụng như Wordpress có xu hướng sử dụng sau này, trong khi tôi thường sử dụng cái cũ.

Tôi dường như nhớ đọc một điều gì đó trong khi trước đây đã biện minh cho điều sau, nhưng tôi không thể nhớ lại lý do đằng sau nó.

Trả lời

9

Không có sự khác biệt. Nó được sử dụng để cho một lỗi được ném trong trường hợp bạn vô tình làm một bài tập thay vì một so sánh:

if('hello' = $a) 

if($a = 'hello') sẽ gán vào biến và không ném ra một lỗi.

Nó cũng có thể được sử dụng để hiển thị rõ ràng rằng nếu bạn có một bài tập trong tuyên bố if, bạn thực sự muốn có nó ở đó và nó không phải là một sai lầm (nhất quán).

+3

Điều này khá nhiều tiền, mặc dù tôi chỉ muốn đề cập rằng trong khi sử dụng kiểu này có thể ngăn chặn lỗi, nó làm cho các điều khoản khó đọc đôi khi. –

+0

Nghĩ vậy, cảm ơn! – steveneaston

+0

Cảm ơn bạn đã giải thích. Nhân tiện, tôi ghét phong cách "không tự nhiên" đó. – Nick

2

Việc biện minh cho điều sau là nếu bạn nhập nhầm = thay vì == (chuyển nhượng thay vì so sánh), bạn sẽ gặp lỗi trình biên dịch (không thể gán cho hằng số).

Các vấn đề liên quan