0

我在下面有一个片段,它使用 $name 来显示一个人的名字。如果名称不存在,则显示未添加名称。我怎样才能做到这一点,而不是说该变量根本不显示任何内容?

     $name = "Name - $variablefromdatabase";

     // If $name is empty
     if (empty($name)) {

     $name = "No Name added";
     }
4

2 回答 2

2
$name = (strlen($varFromDb) > 0) ? "Name - " . $varFromDb : "";

如果我正确理解了这个问题,如果用户没有设置名称,则不应显示任何内容,否则它会看到Name - {their name}

于 2012-04-27T16:21:54.293 回答
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
}   
于 2012-04-27T16:31:19.293 回答