web-dev-qa-db-fra.com

une ligne si instruction en php

Je voudrais quelque chose de similaire aux javascripts

    var foo = true;
    foo && doSometing();

mais cela ne semble pas fonctionner en php.

J'essaie d'ajouter une classe à une étiquette si une condition est remplie et je préférerais que le php intégré soit réduit au minimum pour des raisons de lisibilité.

jusqu'à présent, j'ai:

 <?php $redText='redtext ';?>
 <label class="<?php if ($requestVars->_name=='')echo $redText;?>labellong">_name*</label>
 <input name="_name" value="<?php echo $requestVars->_name; ?>"/>

mais même alors, l’idée se plaint que j’ai une déclaration if sans accolades.

15
andrew

utiliser l'opérateur ternaire?:

change ça

<?php if ($requestVars->_name=='')echo $redText;?>

avec

   <?php echo ($requestVars->_name=='')?$redText:'';?>

En bref

 // (Condition)?(thing's to do if condition true):(thing's to do if condition false);
31
sanjeev

Vous pouvez utiliser logique opérateur ternaire La logique opérateur ternaire est le processus d'utilisation des instructions "(condition)? (Valeur de retour vraie): (valeur de retour fausse)" pour raccourcir vos structures if/else. c'est à dire

/* most basic usage */
$var = 5;
$var_is_greater_than_two = ($var > 2 ? true : false); // returns true
5

Quelque chose comme ça?

($var > 2 ? echo "greater" : echo "smaller")
3
ceuben