在PHP中使用empty()函数返回if

在PHP中使用empty()函数返回if,php,arrays,Php,Arrays,我的代码中有以下IF来检查数组是否为空 if (!empty($data['id']) && (empty($data['student_no']) || empty($data['batch']) ) ) { print_r("inside if "); } $data['id'],$data['student\u no'],$data['batch']是数组 数组值如下所示 1.$data['id']->数组([0]=>1[1]=>[2]=>) 2.$data['st

我的代码中有以下IF来检查数组是否为空

if (!empty($data['id']) && (empty($data['student_no']) || empty($data['batch']) ) ) {
   print_r("inside if ");
}
$data['id']
$data['student\u no']
$data['batch']
是数组

数组值如下所示

1.
$data['id']
->
数组([0]=>1[1]=>[2]=>)

2.
$data['student\u no']
->
数组([0]=>[1]=>[2]=>)

3.
$data['batch']
->
数组([0]=>)

但这并不需要在if内部打印“insideif”字符串

请告诉我怎么了?

你忘了!如果

!empty($data['student_no']

请尝试在中包装另一组括号!空($data['id']))


$data['student\u no']和$data['batch']不是空的,但您的条件希望其中一个为空,因此它不起作用

,但
student\u no
batch
不是空的数组。它们不是空数组。如果尝试清空($data['batch'][0]),则应返回带有
no
值的trueEmpty array is array。具有一个空值的数组不是空的。如果(true),请将条件更改为
。这就是使用这些数组进入
if
的方式。更多括号代表括号之神!这是一种罕见的情况,当回答者比OP*更了解任务时。(*实际上没有)@Nishant Nair你怎么知道他们没有忘记其他事情?像一个条件来检查它是否是一个
星期二
今天吗?OP说:检查数组是否为空
if ((!empty($data['id'])) && (empty($data['student_no']) || empty($data['batch']) ) ) {
   print_r("inside if ");
}