下面的代码采用一个数组值,如果它的键存在它应该回显它的值,三元if / else部分工作但值没有显示,有人可以找出它为什么不会吗?
$signup_errors['captcha'] = 'error-class';
echo(array_key_exists('captcha', $signup_errors)) ? $signup_errors['catcha'] : 'false';
另外我把它回显为假,如果一个键不存在我不需要输出,我应该删除单词false还是还有别的东西让代码只显示1个值?
答案 0 :(得分:6)
我认为你在错误的地方有一个括号:
echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');
另外,请检查'captcha'
的拼写。
答案 1 :(得分:3)
你有一个错字。这样:
? $signup_errors['catcha'] :
应该是这样的:
? $signup_errors['captcha'] :
catcha - >验证码
答案 2 :(得分:2)
我认为你的意思是:
echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');
或者,如果在密钥不存在时不需要输出,请使用“if”语句,而不是三元运算符:
if (array_key_exists('captcha', $signup_errors)) { echo $signup_errors['captcha']; }
答案 3 :(得分:1)
你拼错'captcha'为'catcha'。