我有一个通过$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不被视为关键吗?如果没有,我如何测试该元素的存在(不是它的值,而是它是否存在)?
答案 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";
}