Opérateurs ternaires imbriqués : un casse-tête résolu
Dans le domaine de la programmation, les opérateurs ternaires imbriqués peuvent être un outil précieux pour les instructions conditionnelles concises. Cependant, leur mise en œuvre peut parfois s’avérer délicate. Un défi récent rencontré par un utilisateur consistait à utiliser isset() sous une forme imbriquée :
isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0
L'utilisateur a été confronté à un problème avec cette expression et a demandé l'aide de la communauté des programmeurs. Examinons la solution qui a émergé :
Pour que les opérateurs ternaires imbriqués fonctionnent correctement, ils doivent être placés entre parenthèses. Cela garantit que les expressions sont évaluées dans l’ordre prévu. Voici le code corrigé :
$selectedTemplate = isset($_POST['selectedTemplate']) ? $_POST['selectedTemplate'] : ( isset($_GET['selectedTemplate']) ? $_GET['selectedTemplate'] : 0 );
Cependant, pour une maintenabilité et une clarté améliorées, l'utilisation d'une instruction if/else est une approche plus recommandée :
$selectTemplate = 0; if (isset($_POST['selectedTemplate'])) { $selectTemplate = $_POST['selectedTemplate']; } elseif (isset($_GET['selectedTemplate'])) { $selectTemplate = $_GET['selectedTemplate']; }
Enfin, pour plus de simplicité et de facilité d'utilisation utilisation, cela vaut la peine d'envisager $_REQUEST :
$selectedTemplate = isset($_REQUEST['selectedTemplate']) ? $_REQUEST['selectedTemplate'] : 0;
N'oubliez pas que le choix de l'approche dépend en fin de compte des exigences spécifiques de votre application. Bon codage, et que vos ternaires soient parfaitement imbriqués !
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!