<?= count(false) ?>
neden 1
döndürdüğünü biliyor musunuz? false
ÇünküNeden (yanlış) geri dönüş 1 sayılır?
cevap
Belirtilen davranışı:
var bir dizi ya da uygulanan Sayılabilir arayüzü ile bir amacı, değilse, 1 döndürülür. PHP bir eleman, bir dizi veya bir nesne olup olmadığını belirlemek için
count()
kullanmasını birini engelliyor gibi
aynı zamanda bir değerdir ve sayım() dizi ama geçerli bir değişken almazsa o 1
olduğunu true
döndürür.
$result = count(null);
// $result == 0
$result = count(false);
// $result == 1
"Rastgele" yorum: nasıl (0) false değerini döndürürse ve (-1) true değerini döndürürse böyle olur. –
Kapa çeneni: 'true' döndürmez. "say" bir dizi beklemektedir ve eğer "var" bir değilse, bir diziye dökülür. 'False' geçerli bir değer olduğundan, bir öğe ile bir diziye dökülür: 'false' değerine sahip bir öğe. http://justinsomnia.org/2007/12/in-php-countfalse-returns-1/ –
göre bana görünüyor. Bunun için özel işlevler vardır (is_array()
, is_object()
) ve count()
'u saf olarak kullanmak ve dizi veya nesneyi belirlemek için false
koşulunu kontrol etmek cazip gelebilir. Bunun yerine, PHP nesneler olmayan, olmayan diziler 1
(gerçektir) döndürür, böylece bu yöntem bu şekilde saf olarak kullanılamaz (çünkü 0
boş bir dizi/nesne için geçerli, hatalı bir sonuçtur).
Bu, açıkladığınız durumdaki işlev tarafından döndürülen değer seçiminin arkasındaki neden olabilir.
Bir dizi veya nesne olup olmadığını belirlemeye çalışmaz, dizinin uzunluğunu belirlemeye ve 0 kayıt veya var olmayan bir dizinin neden hala geri döneceğini sorgulamaya çalışıyor. – jerebear
kafanızda bu hatırlamak için güzel bir yolu:
- sayımı (yanlış) temelde aynıdır:
- sayımı ("tek boolean") ve bu nedenle "TEK" mantıksal ifadenin olarak vardır sonuç.
- 1. Geri dönüş yanlış değere dönüyor
- 2. Neden Infinity == Sonsuzluk == 1/0 yanlış?
- 3. ISNUMERIC ('.') Neden 1?
- 4. ASP.net listbox kontrolü dönüş -1
- 5. Raylar neden yok sayılır.
- 6. Saat() neden kötü sayılır?
- 7. Dönüş 1, 2, ..., 11.,
- 8. Dönüş jeneratörü Geri Dönme Yok
- 9. Yalnızca geri dönen 1. öğe
- 10. CSS: Geri dönüş fontları
- 11. Geri dönüş değerleri, Task.WhenAll
- 12. Bir Python işlevinin bazı dönüş değerlerini zarifçe nasıl yok sayılır?
- 13. WiFi doğrudan geri dönüş P2P_UNSUPPORTED
- 14. set olsun Object.defineProperty dönüş yanlış değer
- 15. Raylar - 2 görünümden 1 görünümüne geri dönüş ve get-params ile geri dön
- 16. Varlık Çerçevesi: Neden WillCascadeOnDelete() Yöntemi yok sayılır?
- 17. NSDateFormatter - 1 gün yanlış mı?
- 18. Neden geri arama işlemi yanlış yapıldığında geri arama geri çağırma düğmesi tıklama etkinliğini durdurmuyor?
- 19. Algolia şablona geri dönüş yapılmadıysa
- 20. Geri dönüş değeri setTimeout'dan alın
- 21. alt_bound'un geri dönüş değerini bulma
- 22. Implementationing History.js HTML4 Geri dönüş
- 23. Oracle'da, neden '' = '' yanlış?
- 24. neden a + 1 == * (a + 1)?
- 25. S3 indeksleme işlevinden geri dönüş "[" görünmez
- 26. MongoDB grup kümelemesinden sonra geri dönüş alanları
- 27. WPF Dispatcher Geri dönüş değeri dönüş değeri her zaman sıfır
- 28. En sonunda dönüş ve karşı dönüş için geri dönün mü?
- 29. EF Geçişler: Geri dönüş son uygulanan geçiş?
- 30. Neden yanlış sonucu yazdır?
olası bir kopyası [yanlış sayım sayısı 1'dir ve boş bir diziden oluşursa yanlış verilir. neden?] (http://stackoverflow.com/questions/3776882/count-of-false-gives-1-and-if-of-an-empty-array-gives-false-why) – mario