PHP çift değil (!) Operatörü

4 Cevap php

Kimse değil çift operatörü, örneğin, PHP ne biliyor mu:

return !! $row;

Yukarıdaki kodu ne yapardınız?

4 Cevap

Bu not operatörü iki kez uygulanan bulunuyor, "çift değil operatörü" değil. Doğru ! bir mantıksal neden olur, regardless of the operand. Sonra sol ! o boolean inkâr edecektir.

Bu, herhangi bir gerçek değeri için (sıfır, boş olmayan ve sayı dizileri, vb dışındaki numaraları) Boole değerini TRUE alacak ve herhangi bir yanlış değer (0, 0.0, {[(anlamına gelir 1)]}, boş dizeler veya boş diziler) Eğer boolean değerini almak FALSE. olacak

Bu boolean için bir döküm işlevsel eşdeğerdir.

Bu aynı şey (ya da hemen hemen aynı - Bazı köşe durum olabilir) bool döküm gibi. $row true döküm istiyorsanız, o zaman !! $row de doğrudur.

Ancak (bool) $row, muhtemelen sadece o kullanmalısınız elde etmek istiyorsanız - ve bazı "ilginç" ifadeleri ;)

$row bir değeri varsa onun anlamı, bu boolean değere dönüştürme, true aksi false dönecektir.

Dil herhangi bir ifadenin sonucu atar ne hakikat değeri anlamak için pek çok dilde bir yoludur "değil". Python Örn:

>>> not not []
False
>>> not not [False]
True

Bu "hiç bir değeri vardır" gibi bir şey için karmaşık bir değer indirgemek istediğiniz yerlerde uygun olabilir.