$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
}