提交表单后我想检查数组是否为用户的数组为空警报错误。但提交表格时我收到错误:
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
答案 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
}