Comme certains le savent, C# a un opérateur très utile ??
qui évalue et retourne l'expression sur la droite si l'expression à gauche est nulle. Il est très utile pour fournir des valeurs par défaut, par exemple:PHP et ?? opérateur
int spaces = readSetting("spaces") ?? 5;
Si readSetting
n'a pas pu trouver "spaces"
et retourne null, la variable spaces
détiendrait la valeur par défaut de 5
.
Vous pouvez faire presque la même chose dans JavaScript et Ruby avec ||
opérateur, comme dans
var spaces = readSetting("spaces") || 5;
bien que vous ne pourriez pas avoir 0
comme valeur de spaces
en JavaScript dans ce cas et dans les deux false
Ruby et JavaScript .
PHP a or
opérateur et même si elle ne fonctionne pas comme ||
dans un sens où il ne retourne pas l'expression de la droite, il pourrait encore être utile ici:
$spaces = readSetting('spaces') or $spaces = 5;
avec la note ""
et "0"
sont également traités comme false
en PHP en plus de false, 0
et null
dans la plupart des langues.
La question est, dois-je utiliser la construction d'en haut? A-t-il des effets secondaires en dehors de traiter une grande classe de caractères comme faux? Et y at-il une meilleure construction qui est habituellement utilisée et recommandée par la communauté PHP cette tâche?
Je ne vois aucune référence à: dans l'article lié. –