如何使字符串不可见?

时间:2012-04-27 16:18:27

标签: php variables string

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

     $name = "Name - $variablefromdatabase";

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

     $name = "No Name added";
     }

2 个答案:

答案 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
}