我有一个foreach循环来检查是否有任何空帖但我得到3x“空”我只想要返回1条消息,如果有任何帖子数据是空的 我有这个PHP代码。
if (isset($_POST["registreer"]))
{
unset($_POST["registreer"]);
foreach ($_POST as $input => $value)
{
if (empty($_POST[$input]))
{
echo "empty";
}
}
}
答案 0 :(得分:3)
您不需要foreach
,而是可以使用in_array()
if (in_array("", $_POST)) {
echo 'Whatever';
}
答案 1 :(得分:2)
打印信息后,使用break
结束循环。
foreach ($_POST as $input => $value)
{
if (empty($value))
{
echo "empty";
break;
}
}
答案 2 :(得分:0)
下面将空$ _POST数组添加到$ emp数组并在循环后打印它们。你没有说你是否想知道哪些是空的,但希望它有所帮助。
if (isset($_POST["registreer"]))
{
unset($_POST["registreer"]);
foreach ($_POST as $input => $value)
{
if (empty($_POST[$input]))
{
$emp[$input] = "leeg";
}
}
print_r($emp);
}
答案 3 :(得分:0)
试试这个
if (isset($_POST["registreer"]))
{
unset($_POST["registreer"]);
$flag =0;
foreach ($_POST as $input => $value)
{
if (empty($_POST[$input]))
{
$flag = 1;
}
}
if( $flag==1){
echo "leeg";
}
}
当帖子为空时,这只返回一次“leeg”
答案 4 :(得分:0)
尝试这样,如果你只想显示一次消息,那么空字段就是一个或多个。
$errorSent = 0;
if (isset($_POST["registreer"]))
{
unset($_POST["registreer"]);
foreach ($_POST as $input => $value)
{
if (empty($_POST[$input]))
{
if ($errorSent == 0)
{
echo "empty";
}
$errorSent = 1
}
}
}