the manual bir dizi kriterlere uygun değişkenler için boş fonksiyon kontrolleri
Var olmayan bir boş ve sıfır değeri varsa YANLIŞ döndürür.
Aşağıdakiler boş olarak kabul edilir:
Sizin $ _POST alanları gerçekte böyle bir şey içerir
" ";
Bu değil ve boş bir dize, ancak boşluk karakterleri ile dolu bir dize.
Boş () kullanmadan önce, sizin POSTed değerlerinden) white-space (Döşeme
$trimmed_post = array();
foreach($_POST as $key=>$value){
$trimmed_post[$key] = $value;
}
if(!empty($trimmed_post['headline'])){
//...
}
Yeni bir diziye yeni değerler koymak gerekmez, ama ben otomatik oluşturulan superglobals içinde ne değişen büyük bir hayranı değilim.
Son bir not, böyle bir şey yapamaz
if(!empty(trim($_POST['headline']))){
//...
}
Boş fonksiyonu gerçek bir değişkeni geçirilmesini bekliyor çünkü. Bunun yerine böyle bir şey yapabileceğini
if('' != trim($_POST['headline'])){
//...
}
Bu muhtemelen almak için en iyi yaklaşımdır. Eğer aramak için gereken işlevleri sayısını azaltmak, kullanıcıların 0 değeri ile girişlerini gönderebilir ve kod ne yapar hakkında daha açık olduğunu. Görürsünüz başka bir şeklidir
if(trim($_POST['headline'])){
}
PHP yanlış olarak boş bir dize ('') değerlendirir ve boş olmayan bir dize gibi gerçek Bu çalışıyor çünkü. Ben PHP bir sürü böcek eşitlik operatörleri belirli tiplerinin dışında boolean değerleri almak nasıl yanlış anlamalar etrafında kırpma buldum çünkü bu formu önlemek eğilimindedir. Açık olma hataların bu tür oluşumları azaltmaya yardımcı olur.