2017-06-07 110 views
-4

我在下面的用戶函數中看到一個名爲isdate的內置函數,當我檢查PHP文檔時,我沒有找到它。它是否存在,它是做什麼的;或者這只是一個錯字?是否有一個isdate PHP函數?

function mystery($a, $b, $c) { 
$result = null; 
if (strlen(trim($a)) == 0) { 
    $result = $c; 
} 
else { 
    if (strtolower(trim($b)) == "n") { 
     if (!is_numeric($a)) { 
      $result = $c; 
     } 
     else { 
      $result = trim($a); 
     } 
    } 
    else { 
     if (strtolower(trim($b)) == "d") { 
      if (!isdate($a)) { 
       $result = $c; 
      } 
      else { 
       $result = trim($a); 
      } 
     } 
     else { 
      $result = $a; 
     } 
    } 
} 
return($result); 
} 
+7

那麼你的標題是錯誤的 - 那裏根本沒有循環...... – John3136

+0

真約翰31316,這裏沒有循環。編輯。 –

回答

3

也許,這不是一個真正的答案,因爲我不知道原來的功能是什麼,說實話我不在乎。不管結果如何,你可以做一些簡化,以使其更具可讀性,以避免重複處理,無用$result變量,特別是消除這些不可讀嵌套的if/else,換句話說,除去這一切無用的噪聲:

function mystery($a, $b, $c) { 
    $trima = trim($a); 

    if (empty($trima)) 
     return $c; 

    $b = strtolower(trim($b)); 

    if ($b == "n") 
     return is_numeric($trima) ? $trima : $c ; 

    if ($b == "d") 
     return isdate($trima) ? $trima : $c ; 

    return $a; 
} 

我希望這會幫助你理解這個功能應該做什麼(也許上下文會有所幫助)

+0

我得到你的挫折Casimir et Hippolyte。這是我想用一個測試人的一個糟糕的問題。 –

相關問題