如何使用mysset查询输出的isset条件

时间:2016-12-18 09:12:27

标签: php mysql

我从MySQL获取了一些数据,并将数据打印为echo $row['ref'];

有时echo $row['ref'];会返回空结果。我希望撰写类似echo isset($row['ref']) ? $row['ref']:'Unknown';的条件,如果Unknown返回空结果,则会显示echo $row['ref'];字。

提前致谢。

4 个答案:

答案 0 :(得分:1)

也许'ref'作为数组键存在但是作为值为null。

<?php $row = array('ref' => null); echo (!empty($row['ref'])) ? $row['ref'] : 'UnKnown'; ?>

答案 1 :(得分:1)

正如你在你的场景中提到的那样

isset($row['ref']) ? $row['ref']:'UnKnown';

你声明即使你使用的是isset也会收到空值,这意味着$row['ref']存在,但它是空的

使用empty代替isset php函数empty将检查变量是否存在且不为空

这会阻止您为变量$ref

设置空值
$ref= (!empty($row["ref"])) ?$row["ref"]: "UnKnown";

Demo

答案 2 :(得分:0)

如果isset不起作用,可能是mysqli将结果作为空字符串返回。

您可能希望使用?:运算符进行快速if-false回退:

echo $row["ref"] ?: "UnKnown";

请参阅:How do I use shorthand if / else?

答案 3 :(得分:0)

尝试这样的三元运算符......

$ref= $row["ref"] ?$row["ref"]: "UnKnown";
echo $ref;