En PHP, pourquoi false and (true && print('hi'))
évalue à false
et n'imprime pas 'hi'
? Je sais que les opérateurs logiques évaluent en court-circuit (ils sont paresseux), mais &&
et parenthèse a upper precedence que and
, donc (true && print('hi'))
devrait être évalué en premier.false et (true && print ('hi'))
Des indices? Merci!
@CBroe pas la même chose.il demande de ne pas travailler avec "vrai" en considérant la priorité de l'opérateur. – tan
@tan oui c'est. La question _ "fait la condition après && (ou' et', comme ici) est toujours évaluée "_ obtient une réponse avec Non pour" faux et quelque chose "- le' quelque chose 'ne reçoit même pas plus que nécessaire. La précédence de l'opérateur signifie l'influence de l'opérateur sur le résultat de l'expression, pas nécessairement l'ordre d'évaluation des sous-expressions individuelles. – CBroe
Je ne sais pas pourquoi ces questions hypothétiques se posent, si j'ai écrit ce code tout en travaillant pour une entreprise que je m'attendais à être expulsé, pas voté sur SO. –