2010-11-20 12 views
1

ここには簡単なPHP関数があります。PHP:echoを使わない関数を使ってメッセージを表示

function hello($name) { 
    $message = 'Hello '.$name.' How are you feeling today?'; 
    return $message; 
} 

ご存じのように、この機能を実行すると、メッセージが返されます。

<?php 
    echo hello(Stackoverflow); 
?> 

出力:

Hello Stackoverflow How are you feeling today? 

は(少なくともここでは)エコー

<?php hello(Stackoverflow); ?>よう

、それはメッセージを返す必要がありますを使用せずに、このメッセージを表示する方法はあります。

答えて

3

この場合、関数はechoである必要があります。

function hello($name) { 
    $message = 'Hello '.$name.' How are you feeling today?'; 
    echo $message; 
} 
+0

おかげで、完璧に動作します。 :) –

+0

ロコス、あなたはタイトルを変更する必要があります。この回答はタイトルと一致しません。 – Lekensteyn

+0

@Lekensteyn、彼は 'echo hello(Stackoverflow);'として 'echo'を使わないことを意味しました。彼の質問で*(少なくともここにはない)*を書き留めておいてください。 – Ruel

1

ショートタグがオンの場合は<?= hello('Stackoverflow') ?>になります。しかし、それを使用することをお勧めしません。

3

何かを表示する方法はたくさんあります。 printfはこの場合に非常に便利です。

<?php 
function hello($name){ 
    printf('Hello %s How are you feeling today?', $name); 
} 
?> 
+0

これはうまくいきましたが、私は印刷の代わりにエコーを使うことを好みます。私は関数を実行している間エコーを使いたくなかった。それで全部です。 –

+0

ありがとうございました。 :) –

+0

ユニットテストの観点から関数に 'echo'を置くのと同じ問題です。 'return sprintf(...')を使用して、関数の外側にエコーする方が良いでしょう。 – Gordon

1
function hello($name) { 
    $message = 'Hello '.$name.' How are you feeling today?'; 
    echo $message; 
} 
関連する問題