[英]PHP: checking key value is not empty
我寫了一個小函數來檢查表單的必填字段,不是空的。 該函數接受兩個參數,1st是一個包含$ _POST superglobal的所有值的數組。 第二個是我填充的必填字段數組。
看一看:
public $errors = array();
public function validate_fields($fields_array, $required_fields)
{
foreach ($required_fields as $key => $value)
{
if (array_key_exists($key, $fields_array))
{
# If key exists in $fields_array
# check that the key value inside $fields_array is set & isn't empty
# if it's empty, populate with an error
if(empty($fields_array[$key][$value]))
{
$this->errors[] = "{$key} is empty but in fields_array";
}
}
else
{
# Key does not exists in $fields_array
# Did someone temper with my html ?
$this->errors[] = "{$key} is not in fields_array";
}
}
return (empty($this->errors)) ? true : false;
}
我遇到的問題似乎與“if(empty($ fields_array [$ key] [$ value]))”語句有關。 我的目標是根據$ required_fields鍵檢查$ fields_array鍵值是否為空。 我確定我正在使用的聲明已關閉。 如果你看到任何你認為可以寫得更好的東西,請告訴我,因為我是php新手。 感謝幫助。
我想你要做的是:
if(empty($fields_array[$key])) {
//this means value does not exist or is FALSE
}
如果您還想僅檢查空字符串或空白區域,那么您需要的不僅僅是空的。 例如
if(empty($fields_array[$key]) || !trim($fields_array[$key])) {
//this means key exists but value is null or empty string or whitespace only
}
請注意,上述答案僅適用於> PHP 5.4中的索引數組。 如果你有一個關聯數組,你必須使用isset而不是empty:
if(isset($fields_array[$key]) && trim($fields_array[$key]) != '')
您不需要選擇值作為索引只是鍵。 $ fields_array [$ key] = $ value;
if(empty($fields_array[$key]) && trim($fields_array[$key]) != '')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.