我在下面有一个片段,它使用 $name 来显示一个人的名字。如果名称不存在,则显示未添加名称。我怎样才能做到这一点,而不是说该变量根本不显示任何内容?
$name = "Name - $variablefromdatabase";
// If $name is empty
if (empty($name)) {
$name = "No Name added";
}
$name = (strlen($varFromDb) > 0) ? "Name - " . $varFromDb : "";
如果我正确理解了这个问题,如果用户没有设置名称,则不应显示任何内容,否则它会看到Name - {their name}
正如评论中提到的,您当前的代码并没有按照您所说的那样做。原因如下:
您将$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
}