如何检查数组中的所有变量是否都已设置

时间:2016-02-29 07:23:05

标签: php arrays foreach

首先,我知道这个问题已经存在且已有答案,但我想强调一下我的问题与众不同。我有这样的代码:

$ognjen=array();
    foreach($_POST as $key=>$value){
        if($key!='prenos'&& $key!='submit'){
            if (strrpos($key, '1', -1)){
                if(!empty($_POST[$key])){
                    $uslov=true;//kontrolna promjenljiva
                }else{
                    $uslov=false;
                }
                if($uslov==true){
                    $ognjen[]=$value;
                }else{
                    $_SESSION['message']='You must fill out all fields';
                    unset($_SESSION['message']);
                }
            }//ovdje ide elseif
        }
    }

此代码没有达到预期的效果。我想要实现的是$_POST的所有值都设置为将它们放入$ognjen数组中,即使有一个未命中,它们都不应该成为$ognjen数组的一部分,而是foreach循环中的所有内容,因为还有一些其他需要完成的检查。在寻找答案时,我无法找到适合我情况的任何答案。请帮助,我觉得这是一项非常简单的任务,但我不知道如何去做。

1 个答案:

答案 0 :(得分:1)

<?php
function is_blank($data)
{
    $error_message="";
    foreach ($data as $key => $value)
    {
        if($value=="" or $value==null)
        {
            $error_message.=$key.",";
        }
    }
    if($error_message!="")
    {
        $error_message=substr($error_message, 0,-1);
        return $error_message." is cannot be null or empty.";
    }
    else
    {
        return "";
    }
}

echo is_blank($_POST);