Une des choses que j'aime la plupart de JavaScript est que les opérateurs logiques sont très puissants:
&& code> peut être utilisé pour extraire en toute sécurité la valeur d'un champ d'un objet et retournera NULL si l'objet ou le champ n'a pas été initialisé P>
// set param to its default value
param = param || defaultValue;
|| code> peut être utilisé pour définir les valeurs par défaut: p>
// returns null if param, param.object or param.object.field
// have not been set
field = param && param.object && param.object.field;
4 Réponses :
Les opérateurs logiques PHP ne retournent pas la valeur de l'un de leurs côtés: ils vous obtiendront toujours un booléen.
Par exemple, faire: p> sera toujours Faire $ résultat code> contient un booléen:
true code> ou
false code> - et jamais
$ a code> $ b code> $ b code>. p> p>
PHP renvoie concernant "ands", quelque chose comme: p> true code> ou
false code>. Mais vous pouvez imiter
r = a || B || C code> avec:
J'allais poster la même chose. Notez que cette fonctionnalité existe sur PHP 5.3.
Wow. C'est bien de voir PHP prend en charge le de GCC ?: code> idiome. Et j'utilise php 5.3.5.
Vous pouvez configurer une fonctionnalité similaire à l'aide de Terne opérateurs . p>
révisé fort>: En ce qui concerne Logical anding en PHP pour obtenir le même genre de résultat que JavaScript, vous pouvez utiliser une variante du ternaire traditionnel, comme suit: P> < Pré> xxx pré> voir code live p> "ELVIS" opérateur "?:" n'attribue que le résultat au champ $ si l'expression conditionnelle est fausse. Donc, si $ paramètre existe aussi bien que $ param-> objet, vous devez utiliser l'opérateur non ("!") Afin d'obtenir le résultat souhaité. P> Vous pouvez également accomplir l'objectif d'obtenir les données de champ sans anding en utilisant l'opérateur de coalescence null ("??") dans PHP 7 en tandem avec get_Object_vars () code>. p> p>
Non, ils agissent comme des opérateurs d'expression booléenne, vous reviendrez vrai ou faux.