Hướng dẫn dùng precdence trong PHP
Có Show Tôi đã thực hiện một vài thử nghiệm và có vẻ như chúng hoạt động giống nhau. Có sự khác biệt nào không? Nếu không, có bất kỳ dấu hiệu PHP nào khác có từ tương đương không và bạn có nghĩ rằng nó làm cho mã dễ đọc hơn không?
22 hữu ích 5 bình luận 11k xem chia sẻ answer 37
http://www.php.net/manual/en/language.operators.precedence.php Thông thường nó không tạo ra sự khác biệt, nhưng có những trường hợp khi không biết về sự khác biệt này có thể gây ra một số hành vi không mong muốn. Xem các ví dụ ở đây: http://php.net/manual/en/language.operators.logical.php 37 hữu ích 4 bình luận chia sẻ answer 7 Vâng, chúng giống nhau về mặt logic. (Tôi tin rằng "&&" và "||" là lựa chọn ưu tiên trong các tiêu chuẩn mã hóa Zend , nhưng tôi không thể tìm thấy bất kỳ thông tin cụ thể nào về điều này, vì vậy tất cả có thể chỉ là một giấc mơ. Hoặc một cái gì đó.) Mà nói:
7 hữu ích 1 bình luận chia sẻ answer 5 Điều làm tôi khó chịu là:
Bạn có thể đoán chỉ có kết quả khả thi là "1" (đúng) vì không có trường hợp nào có thể xuất ra sai ... ... nhưng nó sẽ là "" (sai). Việc sử dụng && làm toán tử trong trường hợp này thỏa mãn ít nhất những mong đợi của tôi:
Vì vậy, trong một số trường hợp, việc sử dụng có ý nghĩa quan trọng. 5 hữu ích 0 bình luận chia sẻ answer 4 Sự khác biệt nằm ở mức độ ưu tiên . Nhưng không chỉ so sánh với nhau! Trong hầu hết các trường hợp, bạn sẽ không bận tâm về điều đó, nhưng có những trường hợp cụ thể khi bạn phải lùi lại một bước và nhìn vào bức tranh toàn cảnh. Lấy ví dụ như sau:
Điều này sẽ tạo ra, tương ứng:
Nói cách khác, Tôi hy vọng nó có thể giúp bạn. Bạn có thể tìm thêm tại http://php.net/manual/en/language.operators.logical.php 4 hữu ích 1 bình luận chia sẻ Đăng nhập để trả lời câu hỏiCó thể bạn quan tâmWhich has higher precedence(In PHP " {" and "}" should also be considered also). However, PHP Manual is not listed " (" and ")" in precedence list. It looks like " (" and ")" has higher precedence as it should be.
What is Order of precedence in PHP?In that case, the order of associativity (either left or right) decides the order of operations. Operators of same precedence level but are non-associativem cannot be used next to each other. Following table lists PHP operators with decreasing order of precedence
What is the difference between C and PHP assignment incrementing?It would appear that in php the increment in the left side of the assignment is processed prior to processing the right side of the assignment, whereas in C, neither increment occurs until after the assignment.
What is the precedence of string concatenation?Relying on the precedence of string concatenation (.) relative to arithmetic addition/subtraction ( + or -) or bitwise shift left/right ( << or >> ), i.e. using them together in an unparenthesized expression, is deprecated.
|