PHP question syntaxe: Qu'est-ce que le point d'interrogation et deux points signifient? [dupliquer]

StackOverflow https://stackoverflow.com/questions/1276909

  •  16-09-2019
  •  | 
  •  

Question

  

Possible en double:    syntaxe php rapide

return $add_review ? FALSE : $arg;

Que point d'interrogation et deux points signifient?

Merci

Était-ce utile?

La solution

Ceci est le PHP opérateur ternaire (également connu sous le nom d'un opérateur conditionnel) -. si le premier opérande évalue vrai, évaluer en tant que deuxième opérande, d'autre évaluation en tant que troisième opérande

Pensez-y comme un « si » vous pouvez utiliser dans les expressions. Peut être très utile pour faire des missions concises qui dépendent d'une condition, par exemple.

$param = isset($_GET['param']) ? $_GET['param'] : 'default';

Il y a aussi une version abrégée de cette (en PHP 5.3 et suivantes). Vous pouvez laisser le milieu opérande. L'opérateur évaluera comme premier opérande si vrai, et le troisième opérande autrement. Par exemple:

$result = $x ?: 'default';

Il est à noter que le code ci-dessus lorsque vous utilisez par exemple $ _GET ou $ _POST variables jetteront avis d'index non défini et pour éviter que nous devons utiliser une version plus longue, avec isset ou un opérateur coalescent nulle qui est introduit dans PHP7:

$param = $_GET['param'] ?? 'default';

Autres conseils

Il est la forme ternaire de l'opérateur if-else. La déclaration ci-dessus se lit essentiellement comme suit:

if ($add_review) then {
    return FALSE; //$add_review evaluated as True
} else {
    return $arg //$add_review evaluated as False
}

Voir ici pour plus de détails sur op ternaire en PHP: http: //www.addedbytes. com / php / ternaires-conditionals /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top