【问题标题】:nested if else shorthand not working properly [duplicate]嵌套 if else 速记不能正常工作[重复]
【发布时间】:2019-12-09 12:56:27
【问题描述】:

我已经尝试了速记,但它现在可以正常工作,请帮我解决这个问题,谢谢。

$acc = "free";

echo $limit = $acc == "free" ? 5 : $acc == "muyip" ? 50 : 1000;

我的预期结果是 5,但结果是 50

【问题讨论】:

  • PHP 7.4 给出了一个提示 Deprecated: Unparenthesized a ? b : c ? d : e 已被弃用。使用(a ? b : c) ? d : ea ? b : (c ? d : e)
  • 来自手册:注意:建议您避免“堆叠”三元表达式。在单个语句中使用多个三元运算符时 PHP 的行为并不明显
  • 非常感谢它现在工作正常
  • 这里的 switch/case 语句可能会更好、更清晰。

标签: php


【解决方案1】:

如下使用括号

$acc = "free";

echo $limit = $acc == "free" ? 5 : ($acc == "muyip" ? 50 : 1000);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-03
    • 2014-08-08
    • 1970-01-01
    • 2023-03-16
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多