【问题标题】:PHP isset() function returns false [closed]PHP isset() 函数返回 false [关闭]
【发布时间】:2015-02-28 20:43:17
【问题描述】:
请看我的代码...
$sample = 'done';
$sample1 = 'welcome';
echo isset($sample) ? $sample : isset($sample1) ? $sample1 : '';
这将返回欢迎。但是 $sample 变量在这个意义上是如何存在的结果将是 done .. 请帮助我?
【问题讨论】:
标签:
php
ternary-operator
isset
【解决方案1】:
我怀疑这是您最后一行中的order of operations 的问题。总之,这是令人困惑的:
isset($sample) ? $sample : isset($sample1) ? $sample1 : '';
如果您想要单独的条件子句,请用括号将它们明确分隔:
isset($sample) ? $sample : (isset($sample1) ? $sample1 : '');
否则我怀疑第二个条件语句之前的所有内容都集体评估为true,从而输出$sample1。
【解决方案2】:
$sample = 'done';
$sample1 = 'welcome';
echo isset($sample) ? $sample : isset($sample) ? $sample : '';
您在 sample1 前面缺少 $ =