三元IF检查无法正常工作

时间:2017-02-27 17:06:29

标签: php if-statement ternary-operator

我尝试根据用户的Cookie打印出特定图片。

Cookie可以包含以下两个值之一:enes。首先,我想先检查一下这个cookie是否存在。如果是,则打印出其值。否则,它应打印出en

它是一种语言cookie。 en = englishes = spanish。 我在/img/flags/文件夹中有两个标志,一个英国国旗和一个西班牙国旗,它们的名称为en.gifes.gif

这是我的代码:

<img src="/img/flags/<?php (isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en') ?>.gif">

现在它只是打印出一个空图像(没有文件名),无论我是否设置了cookie:/img/flags/.gif

我做错了什么?

我宁愿使用三元,因为它看起来更好。如果我定期进行IF检查,它可以正常工作:

if (isset($_COOKIE['lang'])) {
  echo $_COOKIE['lang'];
} else {
  echo 'en';
}

1 个答案:

答案 0 :(得分:2)

你仍然需要回应三元结果:

<img src="/img/flags/<?php echo (isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en') ?>.gif">