首页 > 开发 > php > 正文

php 如何进行变量非空判断

2017-09-06 14:59:45  来源:网友分享

用户提交表单的时候会出现多个变量,如何对变量每一个变量进行非空判断,并在所有变量均为非空后才把所有数据录入数据库。
我只知道可以使用empty()进行辨别并输出提示但是不知道如何实现
所有变量均为非空后才把所有数据录入数据库。
如下,我用switch可以实现在有未填项时输出提示,但是无法实现
所有变量均为非空后再录入数据。

<?php
//输出提示
switch ($_REQUEST)
{ 
case empty($_REQUEST['name']):
echo" 名程必填";
case empty($_REQUEST['reviewer']):
echo" 用户名必填"; 
case empty($_REQUEST['review']):
echo" 评论必填";
}      



 //录入数据
    $mysql = new SaeMysql();
    $sql = "SELECT * FROM `remark` LIMIT 10";
    $data = $mysql->getData( $sql );
    $name = strip_tags( $_REQUEST['name'] );
    $reviewer = $_REQUEST['reviewer'];
    $review = $_REQUEST['review'];
    $sql = "INSERT  INTO `remark` ( `name`, `review`, `reviewer`, `time`) VALUES ('"  . $name . "' , '"  . $review . "' ,  '"  . $reviewer . "' , NOW() ) ";

    $mysql->runSql($sql);
    if ($mysql->errno() != 0)
    {
    die("Error:" . $mysql->errmsg());
    }
    $mysql->closeDb();
    echo $mysql->errmsg()
    ?>   

解决方案

function is_empty_variable($variable){
    return (!isset($variable) || trim($variable)==='');
}

如果是$_REQUEST数组的话:

foreach($_REQUEST as $key => $value)
{
    if(is_empty_variable($value))
    {
        throw new \Exception("{$key} 为空");
    }
}