PHP isset()函数返回false

时间:2015-02-28 20:43:18

标签: php ternary-operator isset

请查看我的代码......

$sample = 'done';

$sample1 = 'welcome';

echo isset($sample) ? $sample : isset($sample1) ? $sample1 : '';

这将作为欢迎返回。但是,在这种意义上的结果中,变量 $ sample 的变化是完成 ..请帮助我?

2 个答案:

答案 0 :(得分:3)

我怀疑这是你最后一行order of operations的问题。总之,这是令人困惑的:

isset($sample) ? $sample : isset($sample1) ? $sample1 : '';

如果你想要单独的条件子句,用括号明确地将它们分开:

isset($sample) ? $sample : (isset($sample1) ? $sample1 : '');

否则我怀疑第二个条件语句之前的所有内容都集中评估到true,从而输出$sample1

答案 1 :(得分:0)

$sample = 'done';

$sample1 = 'welcome';

echo isset($sample) ? $sample : isset($sample) ? $sample : '';

您在sample1 =

前面错过了 $