php检查空数组

时间:2013-03-07 05:24:45

标签: php

提交表单后我想检查数组是否为用户的数组为空警报错误。但提交表格时我收到错误:

PHP

    $errors = array_filter($_POST['session']);
    if (!empty($errors)) {
        foreach ($_POST['session'] as $value) {
            $session.=$value.',';
        }
        $session=substr($session, 0 , -1);
    }

Warning: array_filter() expects parameter 1 to be array, null given in C:\inetpub\wwwroot\manage\test_bank\index.php on line 729

7 个答案:

答案 0 :(得分:3)

在进行任何数组操作之前,您需要检查它是否是数组。

if(is_array($_POST['session'])){
  $errors = array_filter($_POST['session']);
} 

答案 1 :(得分:1)

发生警告是因为array_filters()需要传递一个数组。在将$ _POST ['session']传递给此函数之前,如果它是一个数组:

if(is_array($_POST['session'])) {
    $errors = array_filter($_POST['session']);
    // continue on
}

答案 2 :(得分:0)

使用is_array检查天气是否是阵列。

echo is_array($_POST['session']);

答案 3 :(得分:0)

这是因为$ _POST不是一个数组,我猜你正在寻找这个:

$errors = array_filter($_POST);

答案 4 :(得分:0)

以下内容最简单地检查空错误

!empty($_POST['session'])

如果你没有在$ _POST ['session']中填充空条目而没有错误的情况下会工作。你为什么需要array_filter?

答案 5 :(得分:0)

将其更改为array_filter($_POST),因为$ _POST是一个关联数组,或者在array_filter()之前使用此行$_POST['session']检查is_array($_POST['session'])是否为数组。 在使用数组函数之前,应首先检查您使用的变量是否为数组。

答案 6 :(得分:0)

$ _ POST是一个数组,但这里$ _POST ['session']不是。

你可以试试这个:

if(isset($_POST['session']))
{
    //do your stuff
}