Maison >développement back-end >tutoriel php >Comment structurer des opérateurs ternaires imbriqués pour une logique conditionnelle efficace ?

Comment structurer des opérateurs ternaires imbriqués pour une logique conditionnelle efficace ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 10:50:03831parcourir

How to Structure Nested Ternary Operators for Efficient Conditional Logic?

Utilisation d'opérateurs ternaires imbriqués

Dans le but de rationaliser les instructions conditionnelles, vous pourriez rencontrer le besoin d'imbriquer des opérateurs ternaires. Cependant, comme l'illustre votre exemple, y parvenir peut s'avérer délicat :

<code class="php">isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0</code>

Pour rectifier cela, il est essentiel de mettre l'expression entière entre parenthèses :

<code class="php">$selectedTemplate = isset($_POST['selectedTemplate'])
                  ? $_POST['selectedTemplate']
                  : (
                       isset($_GET['selectedTemplate'])
                       ? $_GET['selectedTemplate']
                       : 0
                  );</code>

Alternativement, pour une amélioration lisibilité et maintenance, envisagez d'utiliser une instruction if/else :

<code class="php">$selectedTemplate = 0;

if (isset($_POST['selectedTemplate'])) {
    $selectedTemplate = $_POST['selectedTemplate'];
} elseif (isset($_GET['selectedTemplate'])) {
    $selectedTemplate = $_GET['selectedTemplate'];
}</code>

Cependant, pour des raisons de simplicité et de compatibilité avec les méthodes POST et GET, la solution suivante peut être plus appropriée :

<code class="php">$selectedTemplate = isset($_REQUEST['selectedTemplate'])
                  ? $_REQUEST['selectedTemplate']
                  : 0;</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn