我有一个名为$vars
的变量,其中包含一个以表格提交的数组:
Array
(
[name] => Sample Name
[email] => test@test.com
[job_role] =>
[telephone_number] => telephone number
[comment] => comment
)
如何检查job_role
索引是否包含值?
我试过了:
if (in_array('', $vars)){
echo "Job role can't be empty";
} else {
echo "Job role submitted";
}
但这适用于整个数组而不仅仅是job_role
索引。
另外,我试过了:
if (isset($vars['job_role'])){
echo "match found";
} else {
echo "nothing there";
}
但即使我没有提交任何内容,它也会返回“匹配发现”......
为什么isset()
总是返回true?
答案 0 :(得分:3)
您可以使用empty()
检查条目是否为空:
if (empty($vars['job_role'])) {
echo "Job role can't be empty";
} else {
echo "Job role submitted";
}
因为isset()
检查定义的值(设置)是否为空。在你的代码$vars['job_role']
中可能是一个空字符串,因此,它是已定义的,但它是空的。