Est-ce que quelqu'un sait ce que fait l'opérateur double not en PHP, par exemple:
return !! $row;
Que ferait le code ci-dessus?
Est-ce que quelqu'un sait ce que fait l'opérateur double not en PHP, par exemple:
return !! $row;
Que ferait le code ci-dessus?
Ce n'est pas la "double pas d'opérateur", c'est le pas de l'opérateur appliqué deux fois. Le droit !
entraînera une valeur de type boolean, indépendamment de l'opérande. Puis le gauche !
nierez que booléenne.
Cela signifie que pour toute valeur réelle (nombre autre que zéro, non-vide chaînes et des tableaux, etc.) vous obtiendrez la valeur booléenne TRUE
, et pour toute valeur false (0, 0.0, NULL
, les chaînes vides ou des tableaux vides), vous obtiendrez la valeur booléenne FALSE
.
Il est fonctionnellement équivalent à un casting pour boolean
.
C'est la même chose (ou presque la même chose - il pourrait y avoir un cas de coin) que le casting pour bool. Si $row
transforme en vrai, alors !! $row
est également vrai.
Mais si vous voulez atteindre (bool) $row
, vous devriez probablement utiliser juste cela - et pas des expressions "intéressantes";)
"not not" est un moyen pratique dans de nombreuses langues pour comprendre quelle valeur de vérité la langue attribue au résultat de toute expression. Par exemple en Python:
>>> not not []
False
>>> not not [False]
True
Cela peut être pratique dans les endroits où vous voulez réduire une valeur complexe à quelque chose comme "y a-t-il une valeur du tout".
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.