PHP三元运算符不工作
下面的代码需要一个数组值,如果它的键存在它应该回显它的值,三元if/else部分工作,但价值没有显示出来,任何人都可以找出它为什么赢得' T'PHP三元运算符不工作
$signup_errors['captcha'] = 'error-class';
echo(array_key_exists('captcha', $signup_errors)) ? $signup_errors['catcha'] : 'false';
而且在那里我有它呼应了假的,我不需要输出,如果键不存在,我只是删除字虚假或者有什么别的使代码只显示1倍的值?
我认为你有错了地方一个括号:
echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');
另外,检查你的'captcha'
拼写。
括号是确定的。其实他们在两种情况下都是无用的。 – 2009-09-03 07:55:33
你有一个错字。这:
? $signup_errors['catcha'] :
应该是这样的:
? $signup_errors['captcha'] :
catcha - >验证码
他有两个错别字。仔细观察。 – 2009-09-03 04:56:25
克里斯,这是我能发现的唯一一个。我实际上在CLI中测试了代码。 – 2009-09-03 05:09:18
你有拼写错误 '验证码' 为 'catcha'。
我想你的意思是:
echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');
或者,如果你不想要输出,当键不存在,请使用“如果”的语句,不三元运算符:
if (array_key_exists('captcha', $signup_errors)) { echo $signup_errors['captcha']; }
如果您只想在出现错误时输出,为什么不直接使用if语句? – 2009-09-03 04:45:53
PHP三元运算符正在工作。你只是没有正确使用它。 – recursive 2009-09-03 04:47:18