if-check所有数组值

时间:2013-08-26 13:41:28

标签: php html

我有一个HTML格式和PHP代码。表单包含许多不同的<input>内容。我希望只有当所有字段都不为空时才能在浏览器中输出一些文字。

例如,对于名为nameage的两个字段,我会执行以下操作:

if($_POST['name'] and $_POST['age']) { ... }

但在这里,我有两个以上的领域。我该怎么办?

3 个答案:

答案 0 :(得分:6)

你可以试试这样的事情

$allSet = true;
foreach($_POST as $key => $value){
    if(empty($value)){
        $allSet = false;
        break;
    }
}

答案 1 :(得分:2)

如果需要发送所有输入,您也可以尝试此操作:

if (count(array_filter($_POST)) != count($_POST)) {
    // at least one input is empty
}

参见 array_filter()

此函数返回相同的数组,但不包含nullfalse0或空字符串的值。因此,如果过滤后的数组中的条目少于原始条目,则表示至少有一个输入尚未填充。

修改 works

答案 2 :(得分:1)

简单的功能。您可以附加必填字段array('name', 'age', 'phone')

function checkPost()
{
    if (!$_POST) return false;

    $fields = array('name', 'age');
    foreach ($fields as $field)
    {
        if(!$_POST[$field])
            return false;
    }
    return true;
}

if(checkPost()) { ... }