PHP question syntaxe: Qu'est-ce que le point d'interrogation et deux points signifient? [dupliquer]
-
16-09-2019 - |
Question
Possible en double: syntaxe php rapide
return $add_review ? FALSE : $arg;
Que point d'interrogation et deux points signifient?
Merci
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 /