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 に答える