Я написал небольшую функцию для проверки необходимых полей формы, не пустой. Функция принимает два аргумента, 1st - массив со всеми значениями из $ _POST superglobal. 2nd - это необходимый массив полей, который я заполняю.PHP: проверка значения ключа не пуста
Посмотрите:
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;
}
Вопрос у меня, кажется, связано с "если (пусто ($ fields_array [$ ключ] [$ значение]))" заявление. моя цель - проверить, что значение ключа $ fields_array не пусто на основе ключа $ required_fields. Я уверен, что заявление, которое я использую, отключено. Если вы видите все, что, по вашему мнению, может быть написано лучше, сообщите мне, поскольку я новичок в php. Цените помощь.
Привет, Ричард, спасибо! Я не знал, что пустой возвращает ложь на пробелы. Еще раз спасибо. Кстати, так я заполняю массив обязательных полей: \t $ required_fields = array ("email" => "", "email_confirm" => ""); существует ли более быстрый подход к настройке массива с помощью только ключа вместо определения ключа + пустое значение? –
$ required_fields = array_fill_keys (массив ("email", "email_confirm", "..."), ""); – kufudo
Спасибо, что немного очищает его. –