使用array_key_exists

时间:2013-01-15 16:09:20

标签: php arrays

我有一个通过$request访问的数组(这与$_REQUEST不同)。数组print_r为

Array
(
    [num_days] => 30
    [customer_id] => 5
)

num_days密钥可能存在也可能不存在(可以是任意数量的东西。)我需要测试以查看密钥是否存在。我试过这个:

if(array_key_exists($request['num_days'], $request)) {
    echo "num_days exists";
}
else {
    echo "num_days doesn't exist";
}

这总是打击别人。我做错了吗? num_days不被视为关键吗?如果没有,我如何测试该元素的存在(不是它的值,而是它是否存在)?

2 个答案:

答案 0 :(得分:2)

使用array_key_exists('num_days', $request)isset($request['num_days'])

您正在做的是错误,只检查该数组元素的值是否作为键存在。

答案 1 :(得分:1)

你所做的是错误的

array_key_exists - 检查数组中是否存在给定的键或索引

您的代码包含array_key_exists Read more

if(array_key_exists('num_days', $request)) {
    echo "num_days exists";
}
else {
    echo "num_days doesn't exist";
}

使用isset的替代方法 Read more

   if(isset($_REQUEST['num_days'])) {
        echo "num_days exists";
    }
    else {
        echo "num_days doesn't exist";
    }