我从MySQL获取了一些数据,并将数据打印为echo $row['ref'];
。
有时echo $row['ref'];
会返回空结果。我希望撰写类似echo isset($row['ref']) ? $row['ref']:'Unknown';
的条件,如果Unknown
返回空结果,则会显示echo $row['ref'];
字。
提前致谢。
答案 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";
答案 2 :(得分:0)
如果isset
不起作用,可能是mysqli将结果作为空字符串返回。
您可能希望使用?:
运算符进行快速if-false回退:
echo $row["ref"] ?: "UnKnown";
答案 3 :(得分:0)
尝试这样的三元运算符......
$ref= $row["ref"] ?$row["ref"]: "UnKnown";
echo $ref;