下面有一个代码片段,它使用$ name来显示一个人的姓名。如果名称不存在则表示没有添加名称。我怎样才能这样做,而不是说该变量根本不显示任何内容?
$name = "Name - $variablefromdatabase";
// If $name is empty
if (empty($name)) {
$name = "No Name added";
}
答案 0 :(得分:2)
$name = (strlen($varFromDb) > 0) ? "Name - " . $varFromDb : "";
如果我理解正确的问题,如果用户没有设置名称,则不应显示任何内容,否则会看到Name - {their name}
答案 1 :(得分:1)
正如评论中所提到的,您当前的代码并没有按照您的说法执行。原因如下:
您将 $ name 初始化为“Name - $ variablefromdatabase”。因此,即使 $ variablefromdatabase 为空,您仍然会得到一个名为“Name - ”的字符串。这不会被视为空,因此代码永远不会进入if语句。以下是更正确的版本
// If $name is empty
if (empty($variablefromdatabase)) {
$name = "Name - $variablefromdatabase";
} else {
$name = "No Name added"; // or $name = "Name - No Name added"
}
关于问题的下一部分;如果没有从数据库返回任何值,您怎么能显示任何内容。请尝试以下代码:
$variablefromdatabase = trim( $variablefromdatabase ); // just make sure there is no white space
if (! empty( $variablefromdatabase ) ) { // check if an empty value is returned from the database
$name = "Name - $variablefromdatabase"; // not empty, so set the name variable
} else {
$name = ""; // set the name variable to an empty string
}