Opérateur ternaire dans la concaténation pour l'affichage dynamique
Tenter d'utiliser une instruction if dans la concaténation, comme illustré ci-dessous, peut s'avérer futile :
$display = '<a href="' . $row['info'] . '" onMouseOver="' . if($row['type']=="battle"){ . 'showB' . } else { . 'showA'() . "><div class='" . $row['type'] . "_alert" . '" style="float:left; margin-left:-22px;" id="' . $given_id . '"></div></a>';
Solution : Utilisation de l'opérateur ternaire
L'instruction if sert d'instruction autonome, la rendant impropre à l'interpolation dans des chaînes. Au lieu de cela, l’opérateur ternaire est plus approprié à cette fin. Il prend la forme :
(conditional expression)?(output if true):(output if false);
Implémentation au sein de la concaténation
Pour incorporer efficacement l'opérateur ternaire dans la concaténation, considérons l'exemple suivant :
$i = 1; $result = 'The given number is'.($i > 1 ? 'greater than one': 'less than one').'. So this is how we can use ternary inside concatenation of strings';
Opérateurs ternaires imbriqués
Pour des évaluations conditionnelles encore plus complexes, des opérateurs ternaires imbriqués peuvent être utilisés, comme illustré ci-dessous :
$i = 0 ; $j = 1 ; $k = 2 ; $result = 'Greater One is'. $i > $j ? ( $i > $k ? 'i' : 'k' ) : ( $j > $k ? 'j' :'k' ).'.';
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!