Ok vì vậy tôi vừa nhận ra một số hành vi khó hiểu với PHP và muốn biết tại sao điều này xảy ra. Vì vậy, chạy mã này:Tuyên bố ternary PHP sử dụng 'và'
var_dump(true and false ? 'one' : 'two');
Đầu ra
boolean true
thay vì 'hai' như bạn mong chờ ... Vấn đề dường như được sử dụng 'và'.
Chạy:
var_dump(true && false ? 'one' : 'two');
đầu ra
string 'two' (length=3)
cũng giống như mong đợi. Tại sao sử dụng 'và' thay vì '& &' gây ra hành vi kỳ lạ này? Họ có được cho là giống nhau không?
Tôi rất muốn biết câu trả lời cho điều này. Đoán của tôi là thứ tự .. Trong trường hợp đầu tiên, false được sử dụng cho toán tử bậc ba xuất hiện đúng và 'hai', đánh giá là đúng ... – DanRedux
Có vẻ như tôi đã đúng. : P – DanRedux