PHP三元运算符不工作

PHP三元运算符不工作,php,ternary,Php,Ternary,下面的代码接受一个数组值,如果它的键存在,它应该回显它的值,三元if/else部分工作,但值没有显示,有人能理解为什么它不会显示吗 $signup_errors['captcha'] = 'error-class'; echo(array_key_exists('captcha', $signup_errors)) ? $signup_errors['catcha'] : 'false'; 还有,在我让它回显为false的地方,如果一个键不存在,我不需要输出,我应该删除单词false还是有其

下面的代码接受一个数组值,如果它的键存在,它应该回显它的值,三元if/else部分工作,但值没有显示,有人能理解为什么它不会显示吗

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

echo(array_key_exists('captcha', $signup_errors)) ? $signup_errors['catcha'] : 'false';
还有,在我让它回显为false的地方,如果一个键不存在,我不需要输出,我应该删除单词false还是有其他东西使代码只显示1个值?

您有一个输入错误。这:

? $signup_errors['catcha'] :
应该是这样的:

? $signup_errors['captcha'] :
catcha->captcha

您有一个输入错误。这:

? $signup_errors['catcha'] :
应该是这样的:

? $signup_errors['captcha'] :

catcha->captcha

您将“captcha”拼错为“catcha”。

您将“captcha”拼错为“catcha”。

我想您的意思是:

echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');
或者,如果在键不存在时不希望输出,请使用“if”语句,而不是三元运算符:

if (array_key_exists('captcha', $signup_errors)) { echo $signup_errors['captcha']; }
我想你的意思是:

echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');
或者,如果在键不存在时不希望输出,请使用“if”语句,而不是三元运算符:

if (array_key_exists('captcha', $signup_errors)) { echo $signup_errors['captcha']; }

我想你把括号放错地方了:

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

另外,请检查“captcha”的拼写。

我想你的括号放错地方了:

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

另外,请检查“captcha”的拼写。

如果只想在出现错误时输出,为什么不使用If语句呢?PHP三元运算符正在工作。您只是没有正确地使用它。如果您只想在出现错误时输出,为什么不使用If语句呢?PHP三元运算符正在工作。你只是用错了。他有两个打字错误。仔细看,克里斯,这是我唯一能看到的。实际上,我在CLI中测试了代码。他有两个打字错误。仔细看,克里斯,这是我唯一能看到的。实际上,我在CLI中测试了代码。括号是可以的。事实上,它们在这两种情况下都是无用的。括号是可以的。事实上,它们在这两种情况下都几乎毫无用处。