【发布时间】:2011-04-13 21:35:08
【问题描述】:
本质上,我希望能够将变量定义为一个事物,除非该事物不存在。我发誓在某处我看到了一个类似这样的速记条件:
$var=$_GET["var"] || "default";
但我找不到任何文档可以正确执行此操作,老实说,它可能是 JS 或 ASP 或我看到的其他东西。
我知道上面代码中应该发生的只是检查任一语句是否返回 true。但我想我看到有人做了一些基本上定义了默认值的事情,如果第一次失败。这是任何人都知道并可以帮助我的事情吗?我疯了吗?说起来似乎是多余的:
$var=($_GET["var"]) ? $_GET["var"] : "default";
或者说特别多余:
if ($_GET["var"]) { $var=$_GET["var"]; } else { $var="default"; }
想法?
【问题讨论】:
-
是的,愚蠢的 php 无法做到这一点,有人知道它是否可以从 5.6 开始做到这一点?
-
@DominicTobias 接受的答案适用于 5.3+
-
@MatthijsWessels 这个问题是询问如何最好地默认一个可能设置的变量。我要求一个特定的操作员获取一个变量(不一定是同一个变量)并回退到另一个。每个问题的公认答案都反映了这种差异。它们是相似但不同的问题,接受的答案不同,我认为不需要对这个问题进行任何修改。
-
嗯,在阅读了 Ruby 中的条件赋值到底是什么(另一个问题因为重复而被关闭)之后,我想有一个细微的差别。
标签: php variables conditional shorthand