有没有一个PHP函数可以做到这一点?

有没有一个PHP函数可以做到这一点?,php,function,Php,Function,我刚刚为我正在从事的一个项目编写了此函数: function valuesValid() { $argCount = func_num_args(); for ($i = 0; $i < $argCount; $i++) { $currentArg = func_get_arg($i); if (!isset($currentArg) || empty($currentArg)) return false;

我刚刚为我正在从事的一个项目编写了此函数:

function valuesValid()
{
    $argCount = func_num_args();

    for ($i = 0; $i < $argCount; $i++)
    {
        $currentArg = func_get_arg($i);

        if (!isset($currentArg) || empty($currentArg))
            return false;
    }

    return true;
}
函数值valid()
{
$argCount=func_num_args();
对于($i=0;$i<$argCount;$i++)
{
$currentArg=func\u get\u arg($i);
如果(!isset($currentArg)|为空($currentArg))
返回false;
}
返回true;
}

它看起来像是以前可能实现过的东西,所以我想知道是否是这样。

如果理解正确,它会检查传递给函数的值是否设置正确,并且不是空的


嗯,我认为简单的
func\u get\u args()
将获得您的所有值,而
foreach()
将更简单。

这不是必要的验证,因为许多表单上的许多输入字段都是空的

没有通用的验证形式,因此没有通用的验证函数。为此,您应该实现自己的逻辑


请记住,仅检查非空值不是令人满意的验证。

如果这是函数的目的,则应将函数命名为
values\u filled()
。内的
isset()
检查是多余的,只有
empty()
测试才有意义。但是,通常需要使用
strlen
检查是否存在表单字段

if (values_filled($_POST["field"], $_POST["form"], $_POST["text"])) {
正如在评论中所说的,此时您已经收到了关于缺少字段的通知。但整个if可以写成:

if ($_POST["field"] && $_POST["form"] && $_POST["text"]) {

看起来您的函数对我来说与&&运算符的作用完全相同

$value1 = valuesValid($a, $b, $c);

$value2 = $a && $b && $c;

var_dump($value1 === $value2);

此函数的作用是什么?确保提交的$\u POST值(通常来自HTML表单)不为空且不为null。如果此操作的目的是强制正确传递缺少默认值的参数,则这种情况已生成警告级别错误。不能像您这样使用灵活的参数列表。不过,有些函数可以测试数组中是否存在特定值(或非值)。请注意,如果(isset($a,$b,$c,$d)),则可以执行此操作,但
empty()
仅适用于单个参数。哎呀,我没有看到@mario的响应:P