如果值设置为 0,PHP empty($val) 函数返回 true

标签 php validation

我有以下 PHP 代码:

$required_fields = array ('menu_name','visible','position');
foreach($required_fields as $fieldname)
{
    if (!isset($_POST[$fieldname]) || empty($_POST[$fieldname]) )
    {
        $errors [] = $fieldname;
    }
}

menu_namevisibleposition是通过post方法接收的变量。

visible 的值为零时,它会在错误数组中创建一个条目。

当 0 被认为“非空”时,检测变量是否为空的最佳方法是什么?

最佳答案

来自 PHP 的 manual :

empty() returns FALSE if var has a non-empty and non-zero value.

做这样的事情:

if ( !IsSet ( $_POST['field'] ) || Trim ( $_POST['field'] ) == '' )

这将确保字段已设置且不包含空字符串

本质上:是 empty() 导致了您的问题,而不是 IsSet()

关于如果值设置为 0,PHP empty($val) 函数返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2022677/

相关文章:

java - Java中如何处理扫描仪异常?

php - SQLite PDO 绑定(bind)不起作用?

Android 上的 Javascript onKeyPress 键代码始终为 0

css - 验证 CSS 是有效语法

javascript - 如何验证 HTML 表单?

javascript - 如果输入一个输入字段,则更改所有输入字段的类别

javascript - jquery ajax跨站

java - 使用 JSON 和 MySql 使用 Android 应用程序检索数据

php - 如何使用 PHP 脚本打开 protected pdf

php - 删除数据库中的重复项