2011-03-15 48 views
0

我只是寫了這個功能的一個項目我的工作:有沒有這樣做的PHP函數?

function valuesValid() 
{ 
    $argCount = func_num_args(); 

    for ($i = 0; $i < $argCount; $i++) 
    { 
     $currentArg = func_get_arg($i); 

     if (!isset($currentArg) || empty($currentArg)) 
      return false; 
    } 

    return true; 
} 

好像一些可能之前,所以我在想,如果是這樣的話已經落實。

+2

一模一樣& &操作的,這是什麼功能呢? – erenon 2011-03-15 21:27:33

+0

確保提交的$ _POST值(通常來自HTML表單)不爲空且不爲空。 – 2011-03-15 21:28:31

+1

如果這樣做的目的是強制正確傳遞缺少默認值的參數,則這種情況已經產生了警告級別錯誤。 – DeaconDesperado 2011-03-15 21:29:06

回答

1

好像你的函數做給我

$value1 = valuesValid($a, $b, $c); 

$value2 = $a && $b && $c; 

var_dump($value1 === $value2); 
+0

糟糕,我沒有看到@馬里奧的迴應:P – 2011-03-15 22:42:33

0

如果理解正確,它會檢查傳遞給函數的值是否設置正確,並且不爲空。

嗯,我認爲簡單的func_get_args()會得到所有的值,而foreach()會更簡單。

1

這不是一個必要的驗證,因爲許多輸入字段都被許多窗體留空。

驗證沒有一般形式,所以沒有通用的驗證功能。你應該實現你自己的邏輯。

請記住,只檢查非空值不是令人滿意的驗證。

0

你應該命名你的功能values_filled()而不是,如果這是它的目的。 isset()檢查是多餘的,只有empty()測試是有意義的。通常你想用strlen來檢查表單域的存在。

if (values_filled($_POST["field"], $_POST["form"], $_POST["text"])) { 

正如評論中所說,您將在此處獲得有關缺少字段的通知。但是,那麼整個如果可能只是被寫成:

if ($_POST["field"] && $_POST["form"] && $_POST["text"]) { 
相關問題