【问题标题】:Ternary IF-check not working properly三元 IF 检查无法正常工作
【发布时间】:2017-07-18 09:54:15
【问题描述】:

我正在尝试根据用户的 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';
}

【问题讨论】:

  • 为什么要投反对票?详细说明。
  • cmets + downvotes 的问题已经在 Meta 上讨论过了。许多人只是选择DV并继续前进。许多人提供建议。许多人试图为新手照亮道路。无论如何,您可能无法从那些为您提出问题的人那里得到答复,因为他们可能已经继续前进了。

标签: php if-statement ternary-operator


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-02-06
    • 2016-03-04
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2015-09-27
    相关资源
    最近更新 更多