Предполагая, что ваши данные поступают из $_GET
или $_POST
, все поля данных будут строками.Это означает, что вы должны иметь возможность выполнить проверку в одиночном вызове функции :
if (in_array('', $list, TRUE)) {
$error[] = "All fields are required.";
}
Это ищет строки, которые точно равны пустой строке,Если вы хотите сделать сравнения бесполезными (более или менее идентичными проверке, которую выполняет empty()
), просто удалите окончательную TRUE
.
РЕДАКТИРОВАТЬ Подумав, вы неСтрогое сравнение.Я сделал это, чтобы разрешить допустимое значение поля '0'
(которое empty()
не разрешит), но это также будет разрешено при произвольных сравнениях, поскольку '0' != ''
.
ДРУГОЕ РЕДАКТИРОВАНИЕ Если вы хотите проверить, что длина укуса больше двух, вам придется выполнить цикл:
foreach ($list as $item) {
if (strlen($item) < 2) {
$error[] = "All fields are required.";
break;
}
}
Это также "очистит 0
", предполагая, что под этим вы подразумеваете "не допускается, чтобы значение было 0
".Если вы также хотите запретить '00'
(или любую другую строку, которая приводит к 0
), вы можете изменить выражение if
на следующее:
if (strlen($item) < 2 || (!(int) $item)) {