連結

2016-08-08 11 views
0

連結

、で私は、機能を持つクラス
$page=new page;

を持って、私は一緒に2つの文字列をCONCAT場合

header() { 
echo 'blah blah'; 
} 

は今好き、

$string= ""; 
$string .= " 1234"; 
$string .= $page->header(); 
echo $string; 

結果

blah blah 1234 

どうすれば正しい順序で入手できますか?

+2

'echo'すぐに出力されます。それは関数ではなく、返り値もなく、実際にはそれが右から何であっても出力されます。つまり、あなたの 'header()'コールで行うエコーが最初に実行され、次に$ stringの残りをエコーし​​ます。 –

答えて

5

:あなたは、文字列として、それを追加したい場合は、値リターンする必要があります。

あなたheader()関数は、文字列を返す必要があります:

function header() { 
    return 'blah blah'; 
} 
1

関数内のechoステートメントは、その関数の呼び出し時に直ちに実行されます。だからあなたはそれを最初に見るのです。あなただけの文字列をエコーし​​ている

public function header() { 
    return 'blah blah'; 
} 
1

あなたは単に「何とか何とか」をエコーし​​ている、あなたの関数で文字列の連結のための値を返していません。あなたのコードは同等です:

$string = ""; 
$string .= "1234"; 
echo "blah blah"; 
$string .= ""; 
echo $string; 

あなたが好きな連結に使用するためにあなたの関数から文字列を返す必要があります。

function header() { return "blah blah"; }