0

我有一个可以通过访问的数组$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 不被视为密钥吗?如果不是,我如何测试该元素的存在(不是它的值,而是它是否存在)?

4

2 回答 2

2

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

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

于 2013-01-15T16:11:20.943 回答
1

你所做的是错误的

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

您的带有 array_key_exists 的代码 阅读更多

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

使用 isset 的替代方法 阅读更多

   if(isset($_REQUEST['num_days'])) {
        echo "num_days exists";
    }
    else {
        echo "num_days doesn't exist";
    }
于 2013-01-15T16:13:32.333 回答