"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que preciso de parênteses para operadores ternários aninhados?

Por que preciso de parênteses para operadores ternários aninhados?

Publicado em 2025-01-30
Navegar:578

Why Do I Need Parentheses for Nested Ternary Operators?

operadores ternários aninhados: um quebra -cabeça resolvido

no reino dos operadores ternários aninhados e de programação podem ser uma ferramenta valiosa para instruções condicionais valiosas. No entanto, implementá -los às vezes pode ser complicado. Um desafio recente encontrado por um usuário foi utilizar ISSET () em uma forma aninhada:

isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0

o usuário enfrentou um problema com essa expressão e procurou assistência da comunidade de programação. Vamos nos aprofundar na solução que surgiu:

para os operadores ternários aninhados funcionarem corretamente, eles devem ser embrulhados nos parênteses. Isso garante que as expressões sejam avaliadas na ordem pretendida. Aqui está o código corrigido:

$selectedTemplate = isset($_POST['selectedTemplate'])
                  ? $_POST['selectedTemplate']
                  : (
                       isset($_GET['selectedTemplate'])
                       ? $_GET['selectedTemplate']
                       : 0
                  );

Por fim, para simplificar e facilitar o uso, vale a pena ? $ _Request ['SelectedTemplate'] : 0;

$selectTemplate = 0;

if (isset($_POST['selectedTemplate'])) {
    $selectTemplate = $_POST['selectedTemplate'];
} elseif (isset($_GET['selectedTemplate'])) {
    $selectTemplate = $_GET['selectedTemplate'];
}
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3