在我的代码中,我在循环中使用这一行填充了一个数组:
$_SESSION['my_array'][] = $some_value;
每次执行此行后,我都会使用function in_array()
. 但是,在第一次迭代中它说:
« in_array() expects parameter 2 to be array ».
如何解决这个问题?
您可以像这样初始化数组(在填充值之前):
$_SESSION['my_array']=array();
这样你就可以确定它是数组,即使它是空的。
您错误地分配或访问它
用这个
$_SESSION['my_array'] = $some_value;
当您进行in_array
检查时,您可以将第二个项目转换为一个数组,因此如果它是空的,那么它将传递一个空数组。这样你就不会在不需要时为会话设置任何东西(这可能会在以后绊倒你)
例如,
if (in_array('foo', (array)$_SESSION['my_array'])) {
// do something
}