How to determine whether a variable is a decimal and it is less than 0.01 in PHP? If I write
if($ Bakiyesi<0.01)
Will, bir
gerçek
eğer değer döndürülür
$ Bakiyesi
hiç bir ondalık değil mi?
Değeri $balance
karşılaştırma için gerekli olan her türlü typecasted olacaktır. Senin durumunda, herhangi bir tamsayı yapacak, örneğin 1
, 1.1
veya '1'
Tüm bakılmaksızın ilk türü, false
değerlendirecek bir $ dengesi. Bu tip kontrol olmaz çünkü Sonuç 0 < 0.1
, true
değerlendirecek.
PHP manual on Comparison Operators, type juggling ve type comparison table bakınız. Ayrıca, kontrol etmek için, bu tür fonksiyonları bakınız
is_int()
a> değişkenin tamsayı olup olmadığını bulmak içinis_float()
a> bir değişkenin tipi şamandıra / ondalık olup olmadığını bulmak içinÖrnek:
var_dump(is_int(1)); // true
var_dump(is_int(1.0)); // false
var_dump(is_int(1.1)); // false
var_dump(is_int('1')); // false
var_dump(is_float(1)); // false
var_dump(is_float(1.0)); // true
var_dump(is_float(1.1)); // true
var_dump(is_float('1')); // false
Meraktan, sadece if(!($balance > 0))
kontrol etmek daha kolay olmaz mıydı?
Bir yalındır Sorunuzu cevaplamak için evet / hayır: duruma göre değişir.
Bu şamandıra gibi dizi her tür, eğer beklendiği gibi, çift veya tamsayı sonra php seslendirecek. Bu php bir sayı olarak yorumlayabilir bir dize olsa bile, bu işe edeceğiz. Eğer bu beklediğiniz eğer bir tip kontrolü yapacağını bu yüzden sadece $ bakiyesi = "ne olursa olsun", o zaman bu doğru dönecektir gibi diğer bir dize ise, moda diğer cevaplar önerdi.
the manual farklı işlenen üretmek ne hakkında daha fazla örnek için bkz.