PHP nedir bu kodun sözdizimi ile yanlış?

5 Cevap php

Ben php bazı basit geçerlilik kurallarını inşa ediyorum ve benim IDE (PhpED) sözdizimi hakkında şikayet ediyor.

Herkes şu sorunun ne olduğunu bana söyleyebilir misiniz?

function notBlank($str) {
    (strlen($str) == 0) ? return false : return true;
}

PhpED 'beklenmeyen dönüş' yakınıyor

Herhangi bir tavsiye takdir.

Teşekkürler.

5 Cevap

bu gibi yazmak:

function notBlank($str){
   return strlen($str) != 0;
}

Bu gibi yazın:

function notBlank($str) {
    return ( strlen($str) == 0 ? false : true );
}

Sen üçlü operatörler içinde iade cant kullanmak. Bunu sözdizimi tutmak istiyorsanız böyle bir şey yapmak zorunda:

function notBlank($str = '') {
    $var = (strlen($str) == 0) ? false : true;
    return $var;
}

Yine de bir şeyler yapmanın varsayılan yolu daha okunaklı olduğunu fark edersiniz:

function notBlank($str = '') {
    if(strlen($str) == 0)
        return false;
    else
        return true;
}

Umarım yardımcı olur!

Ayrıca PHP'nin empty fonksiyonunu kontrol etmek isteyebilirsiniz olsa GSTO cevabı, burada iyi görünüyor:

http://www.php.net/empty

Dize boş olduğunda strlen() 0 döndürür, ve PHP 0==false. Yani gerçekten, bir fonksiyon strlen() sarmak için gereksiz. Bir boolean cevap üzerinde ısrar etmek istiyorsanız, o zaman attı. yani:

(bool) strlen($string);

Peki yerine assumably bir de denir fonksiyonu, blok, sadece olurdu varsa

if(strlen($string)) //etc.