Tôi sử dụng toán tử bậc ba khá thường xuyên nhưng tôi không thể tìm thấy bất kỳ thứ gì trong tài liệu về điều này và tôi luôn tự hỏi nó.Làm rõ toán tử Ternary PHP
Sau đây là một ví dụ tốt:
echo ($something->message ? $something->message : 'no message');
như bạn có thể thấy, nếu $ something-> nhắn là đúng, chúng tôi quay trở lại $ something-> tin nhắn, nhưng tại sao viết nó hai lần? Có cách nào để làm điều gì đó như:
echo ($something->message ? this : 'no message');
Bây giờ tôi không thạo về mặt lý thuyết lập trình, do đó, nó có thể là có một lý do mà trước đây không thể được tham chiếu với một cái gì đó như "này" nhưng tại sao không? Điều này sẽ không dòng dòng việc sử dụng các nhà điều hành ternary? Đối với một cái gì đó giống như ví dụ của tôi nó khá vô dụng, nhưng chúng ta hãy nói rằng nó
echo (function(another_function($variable)) ? function(another_function($variable)) : 'false');
Tôi không thể tìm cách nào để làm điều này, vì vậy tôi giả định đó là không thể, nếu tôi sai xin vui lòng thông tôi, nếu không: tại sao không? Tại sao điều này là không thể, lý do kỹ thuật là gì, hay chỉ là điều gì đó chưa bao giờ xảy ra? Tôi có nên tuyên bố nó như là một biến và sau đó thử nghiệm đối với biến đó?
có thể trùng lặp của [PHP có một thành phần gán mặc định như perl?] (Http://stackoverflow.com/questions/2958630/does-php-have-a-default-assignment-idiom-like-perl) – outis