2012-04-27 8 views
0

私は人の名前を表示する$ nameを使用する下のスニペットを持っています。名前がない場合は、No name addedと表示されます。変数を何も表示しないようにするにはどうすればいいですか?他文字列を見えないようにするには?

 $name = "Name - $variablefromdatabase"; 

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

    $name = "No Name added"; 
    } 
+2

'if(empty($ name)){...}' ...を削除しますか? – netcoder

+0

あなたのオリジナルコードは、あなたが記述したものを行いません。その部分を最初に修正することを検討してください。 –

答えて

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

私が正しく質問を理解した場合、ユーザーには名前が設定されていない場合は、何も表示されるべきではない、コメントで述べたように、それはName - {their name}

+0

OKでした。しかし、どうすればを$ varfromDBに追加できますか? – AAA

+0

'$ name =(strlen($ varFromDb)> 0)を実行するだけですか? "名前 -

+0

ありがとうございました。もう一つのことは別の分野です。私は$ varfromdb1/$ varfromdb2のようなことをする必要があります。私はそれを行うことができましたが、価値が存在しなければそれは動作しませんでした。それでも名前タグが表示されます。 – AAA

1

に表示されます、あなたの現在のコードはしていませんあなたが言うことをしてください。理由は次のとおりです。

$ nameを "Name - $ variablefromdatabase"として初期化します。したがって、$ variablefromdataabaseでも空であり、あなたはまだ "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 
} 
+0

ねえ。空白がある場合はどうなりますか? – AAA

+0

2番目のコード例では、データベースから受け取った値をトリムします。 [trim](http://php.net/manual/en/function.trim.php)は、文字列の前後の空白を削除しますが、文字列が空白のみで構成される場合はすべての空白を削除します。 – j4kes

関連する問題