Karşılaştırma işleçleri < <= > >=
dizeleri için de uygulanabilir. O zaman neden dize karşılaştırması için özel fonksiyona ihtiyacımız var: strcmp
?PHP: Neden string karşılaştırma fonksiyonuna ihtiyacımız var?
cevap
çeşitli varyasyonları olduğundan:
işlevine bağlı olarak, bu soruların cevabı değişir: Bu harf duyarlı- mi? (
strcmp
vsstrcasecmp
,strnatcmp
vsstrnatcasecmp
) - Yerel olarak bağlı olduğuna bağlı olarak değişir? (
strcoll
yok) - Bir harmanlama belirtebilir miyim?
Ek olarak, karşılaştırma operatörleri de true
veya false
vermek (strcoll
setlocale
etkilenir). strcmp
bir tamsayı verir, böylece eşzamanlı olarak kimlik olup olmadığına (dönüş 0) veya eğer değilse, daha büyük olana (değerin pozitif mi yoksa negatif mi olduğuna bağlı olarak) kodlayabilir.
strcmp PHP hiçbir aşırı yükler, 3 farklı değerler eşittir için daha az, daha 0 -1 karşılaştırıldı dize daha fazla +1 olarak strcmp sonuç olsa da. < = <= > >=
ile (bazen) çoklu çek birbiri ardına yapabileceksiniz.
Yalnızca -1, 1 ve 0'a dönmez. – Artefacto
Ve bir çeşit arama tablosunu uygulamadığınız sürece, en kötü ihtimalle iki karşılaştırma ile sonuçlanırsınız. – Artefacto
Erm, 'strcmp' hemen hemen aynı şekilde kullanılır, ancak karşılaştırma operatörünü alıp' 0'na uygulamanız dışında. Yani, $ a <$ b ', strcmp ($ a, $ b) <0 'olur - aynı,' == ',' <=', '> 've'> = 'için de geçerlidir. – Joey
- 1. Neden önbelleğe ihtiyacımız var?
- 2. Neden force.on'a ihtiyacımız var d3
- 3. Neden stelaz.stream iteratee üzerinde ihtiyacımız var?
- 4. Neden ClassMethods ve InstanceMethods'a ihtiyacımız var?
- 5. Neden TensorFlow tf.Graph'a ihtiyacımız var? amacını nedir
- 6. İstemci oturumlarımız olduğunda neden JWT'ye ihtiyacımız var?
- 7. C# string karşılaştırma hatası
- 8. '==' kullanarak PHP string karşılaştırması
- 9. CoffeeScript String Karşılaştırma CoffeeScript yılında
- 10. Konuları başlatmak için neden bir Runnable'a ihtiyacımız var?
- 11. Neden AGGREGATE FONKSİYONLARI ile GROUP BY'ye ihtiyacımız var?
- 12. Havuz modeli - Neden tam olarak Arayüzlere ihtiyacımız var?
- 13. sert php oturumları - karşılaştırma hatası
- 14. String (php)
- 15. Neden String sınıfı kopya oluşturucusu var?
- 16. PHP time() to string
- 17. NodeJs Express framework uygulamasında Jade Şablonu'nda String karşılaştırma sorunu
- 18. Karakter Literalını Std ile Karşılaştırma :: C++ içinde String
- 19. Sayma ve Karşılaştırma satırları Query Mysql PHP
- 20. string dizisini döndürür php regex
- 21. Üçlü Operatör İçinde PHP String
- 22. Scala'da Python'un daha genel harita fonksiyonuna denk mi var?
- 23. std :: string dizgesine std :: string akımını iletme yolu var mı?
- 24. String karşılaştırma PowerShell işlevinde çalışmıyor - ne yapıyorum yanlış?
- 25. sıralama: string karşılaştırma Geçersiz veya eksik çokbaytlı veya geniş karakter
- 26. std :: ratio neden karşılaştırma operatörlerini desteklemiyor?
- 27. Python'da, dosya tanıtıcısı üzerinde yineleme yapabileceğimiz için neden readlines() 'a ihtiyacımız var?
- 28. Kancalar: izinleri geri almak için neden VirtualProtect() 'a tekrar ihtiyacımız var?
- 29. Çekirdek bağlantılı listedeki düğümleri silmek için neden list_for_each_safe() dosyasına ihtiyacımız var?
- 30. Bazı 512 elemanlar için CSS sorgusuna ihtiyacımız var
Bu işleve kendi karşılaştırıcısını veya yerel ayarını sağlayabileceğinizi tahmin etmeliydim ... ama hayır, yalnızca eski C kütüphanesi işlevi, ikili güvenli de olsa. Bu yüzden belki de C kodunun PHP'ye aktarılmasını kolaylaştırmak ... çünkü görünüşe göre her zaman oluyor. – Joey