1

下面的代码采用一个数组值,如果它的键存在,它应该回显它的值,三元 if/else 部分有效但值没有显示,任何人都可以弄清楚为什么它不会?

$signup_errors['captcha'] = 'error-class';

echo(array_key_exists('captcha', $signup_errors)) ? $signup_errors['catcha'] : 'false';

另外,我在哪里回显错误,如果键不存在,我不需要输出,我应该删除单词 false 还是有其他东西使代码只显示 1 个值?

4

4 回答 4

6

我认为你在错误的地方有一个括号:

echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');

另外,请检查您的拼写'captcha'

于 2009-09-03T04:44:42.437 回答
3

你有一个错字。这个:

? $signup_errors['catcha'] :

应该是这样的:

? $signup_errors['captcha'] :

catcha -> 验证码

于 2009-09-03T04:44:00.580 回答
2

我想你的意思是:

echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');

或者,如果您在键不存在时不希望输出,请使用“if”语句,而不是三元运算符:

if (array_key_exists('captcha', $signup_errors)) { echo $signup_errors['captcha']; }
于 2009-09-03T04:44:20.033 回答
1

您将 'captcha' 拼错为 'catcha'。

于 2009-09-03T04:44:14.073 回答