【发布时间】:2015-11-26 22:51:46
【问题描述】:
我正在尝试编写一个非常简单的 php 单行 if 语句,但我遇到了 null 结果的问题。如果 companyname 为 NULL,则使用 firstname + lastname 组合。
SELECT `firstname`, `lastname`, `companyname` FROM (`client`) WHERE `client_id` = '116'
Array
(
[firstname] => John
[lastname] => Citizen
[companyname] =>
)
$name = trim($row['companyname']) == FALSE ? $row['firstname'] & " " & $row['lastname'] : $row['companyname'] ;
我尝试了以下所有选项均无济于事;
- 空
- == 错误
- === 空
但他们都不会返回我期望的名字 + 姓氏组合。
【问题讨论】:
-
您可以在 SQL 中使用
COALESCE来返回一个特定的字符串,您可以在 companyname 为 NULL 时检查该字符串。即COALESCE(companyname ,"<EMPTY>")然后你可以在PHP 中做$row['companyname'] == "<EMPTY>"。 -
不确定你从哪里得到这个:
$row['firstname'] & " " & $row['lastname'],但应该是$row['firstname'] . " " . $row['lastname']- 这会导致各种问题! -
你试过
== ""吗? -
为什么不使用 if 和 else 语句分步执行此操作,而不是在一个语句中将它们混杂在一起?很乱,作为初学者,如果不是很了解,建议不要使用。
-
如果这些答案中的任何一个有帮助,最好给那些有帮助的人投票并接受最有帮助/最正确的答案。