我想检查数组中的特定索引是否存在。我使用此代码:
if(array_key_exists('resource_id', $_POST['resource_id']) == false)
{
$_POST['resource_id'] = 'undefined';
}
$_POST['resource_id']
是我的数组的一个字段,我从js代码传递给ajax请求。现在的问题是,在某些情况下,我无法通过resource_id字段,我需要将其作为undefined
在我的条件中作为上面的代码加价。
array_key_exists
将此错误返回给我:
消息:array_key_exists()期望参数2为数组,给定
为null
我做错了什么?
答案 0 :(得分:5)
如果我很清楚,'resource_id'并不是一直存在的 所以你要测试的是它是否存在于$ _POST数组中:
if(array_key_exists('resource_id', $_POST) == false)
{
$_POST['resource_id'] = 'undefined';
}
答案 1 :(得分:1)
如果您只使用$ _POST执行array_key_exists,这可能会有效,但为了简单起见,我建议:
if(!isset($_POST['resource_id']){
$_POST['resource_id'] = 'undefined';
}
答案 2 :(得分:0)
array_key_exists
的第二个参数应该只是数组,所以在你的情况下,它将是
if(array_key_exists('resource_id', $_POST) == false)
{
$_POST['resource_id'] = 'undefined';
}