PHP检查变量中的数组索引是否有值| isset()始终返回true
我有一个名为PHP检查变量中的数组索引是否有值| isset()始终返回true,php,arrays,Php,Arrays,我有一个名为$vars的变量,它包含一个随表单一起提交的数组: Array ( [name] => Sample Name [email] => test@test.com [job_role] => [telephone_number] => telephone number [comment] => comment ) 如何检查作业\u角色索引是否包含值? 我试过: if (in_array('', $vars)){
$vars
的变量,它包含一个随表单一起提交的数组:
Array
(
[name] => Sample Name
[email] => test@test.com
[job_role] =>
[telephone_number] => telephone number
[comment] => comment
)
如何检查作业\u角色
索引是否包含值?
我试过:
if (in_array('', $vars)){
echo "Job role can't be empty";
} else {
echo "Job role submitted";
}
但这适用于整个数组,而不仅仅是job\u角色
索引
此外,我尝试:
if (isset($vars['job_role'])){
echo "match found";
} else {
echo "nothing there";
}
但即使我没有提交任何东西,它也会返回“找到匹配项”
为什么isset()
总是返回true?您可以使用检查条目是否为空:
if (empty($vars['job_role'])) {
echo "Job role can't be empty";
} else {
echo "Job role submitted";
}
因为isset()
检查定义的值(未设置)是否为空。在您的代码中,$vars['job_role']
可能是一个空字符串,因此,它已定义,但它是空的。您可以使用检查条目是否为空:
if (empty($vars['job_role'])) {
echo "Job role can't be empty";
} else {
echo "Job role submitted";
}
因为
isset()
检查定义的值(未设置)是否为空。在您的代码中,$vars['job\u role']
可能是一个空字符串,因此,它被定义了,但它是空的。ehemmm。。。为什么要投否决票?对“有人能帮忙”这个问题的答案是“是的”,但这可能不是你真正想问的问题。这里的问题有利于集中和具体。问“请帮助我”的问题往往寻求高度本地化的指导,或者在某些情况下,寻求持续或私人的帮助,这不适合我们的问答形式。它也是相当模糊的,最好用一个更具体的问题来代替。请阅读。@BareFeetisset()
检查定义的值(已设置)是否为空。在您的代码中,$vars['job_role']
可能是一个空字符串,因此,它已定义,但它是空的。@halfer很抱歉让您再次尝试编辑我的问题。我之所以问“有人能帮忙吗”只是因为我想礼貌一点。读了这篇文章后,我明白了为什么我不应该这么做。我会记住这一点。非常感谢。此外,我重新编写了我的问题,使我的问题更清楚。我希望现在有人会积极接受:)嗯。。。为什么要投否决票?对“有人能帮忙”这个问题的答案是“是的”,但这可能不是你真正想问的问题。这里的问题有利于集中和具体。问“请帮助我”的问题往往寻求高度本地化的指导,或者在某些情况下,寻求持续或私人的帮助,这不适合我们的问答形式。它也是相当模糊的,最好用一个更具体的问题来代替。请阅读。@BareFeetisset()
检查定义的值(已设置)是否为空。在您的代码中,$vars['job_role']
可能是一个空字符串,因此,它已定义,但它是空的。@halfer很抱歉让您再次尝试编辑我的问题。我之所以问“有人能帮忙吗”只是因为我想礼貌一点。读了这篇文章后,我明白了为什么我不应该这么做。我会记住这一点。非常感谢。此外,我重新编写了我的问题,使我的问题更清楚。我希望现在有人会积极接受:)