簡體   English   中英

PHP這段代碼的語法有什么問題?

[英]PHP what is wrong with the syntax of this code?

我在php中建立一些簡單的驗證規則,而我的IDE(phped)抱怨語法。

誰能告訴我以下內容有什么問題嗎?

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

phped抱怨“意外的回報”

任何建議表示贊賞。

謝謝。

這樣寫:

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

像這樣寫:

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

您不能在三元運算符中使用return。 如果要保留該語法,則必須執行以下操作:

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

不過,請注意,默認的處理方式更清晰:

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

希望能幫助到你!

GSto的答案似乎是最好的,盡管您可能還想查看php的empty函數:

http://www.php.net/empty

當字符串為空時, strlen()返回0,而在PHP中, 0==false 因此,實際上,沒有必要將strlen()包裝在函數中。 如果您要堅持布爾答案,請強制轉換。 即:

(bool) strlen($string);

因此,如果沒有函數(可能在if塊中調用),則只需

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM