<?php
function dosomething(){
echo "do\n";
}
$temp="test".dosomething();
echo $temp;
?>
期待される結果:testdo
しかし、実際の結果は次のとおりです。
テスト%
期待される結果を得るためにコードを変更する方法を知っています。しかし、私が疑うのは、コードがこのような結果を出力する理由です。誰かがそれを説明できますか?ありがとう!
<?php
function dosomething(){
echo "do\n";
}
$temp="test".dosomething();
echo $temp;
?>
期待される結果:testdo
しかし、実際の結果は次のとおりです。
テスト%
期待される結果を得るためにコードを変更する方法を知っています。しかし、私が疑うのは、コードがこのような結果を出力する理由です。誰かがそれを説明できますか?ありがとう!
dosomething
画面に反響しています。これが最初に実行されるため、「do\n」が出力されます。
dosomething
また、何も返さないため、2番目のエコーは次と同等ですecho "test";
呼び出しの結果を使用するには、それを返す必要があります。
function dosomething(){
return "do\n";
}
期待どおりに動作します。
明確にするために。最初に "do\n" を出力する$temp
関数を最初に実行する必要があります。
リターンを使用します。
function dosomething(){
return "do\n"; }
echo の代わりに return ステートメントを使用する
function dosomething(){
return "do\n";
}
これを試して:
呼び出し関数で return を使用します。そうすることで、関数が呼び出されている文字列を取得できます。したがって、関数は文字列に置き換えられ、2 つの文字列が連結されます。
-
ありがとう