2016-04-05 8 views
1

を廃棄される場合、それの戻り値は...PHP:関数の戻り値は、関数を考えると使用または

$c = sum(2, 3); 
otherFunction(sum(4, 5)); 

...あるいは単に破棄を使用することができる

function sum($a, $b) 
{ 
    echo $a + $b; 
    return $a + $b; 
} 

知っています。

sum(6, 7); 

機能の終了時に戻り値が使用され(割り当てられた変数/式にまたは渡された別の関数に)か破棄するかどうsum()内のコードから知る方法はありますか?

+5

いいえ、なぜあなたはそれをしたいと思いますか? – Rizier123

+7

あなたは本当にどのような問題を解決しようとしていますか?つまり、どこに受け入れられたかどうかを知ることが重要な理由は何ですか?これはXYの問題です。 –

+0

正直なところ私はPHPにこのような機能があるのか​​不思議です。 'sum'という質問で例をとると、戻り値が破棄された場合の結果がエコーされるか、結果が使用された場合にはサイレント状態になることがあります。 – Paolo

答えて

3

いいえ、私は恐れていません。

関数の呼び出しコンテキストを検出できる言語があります(たとえば、Perlには戻り値が割り当てられているだけでなく、スカラー値またはリスト値であるかどうかを示すだけでなく、wantarrayがあります)。しかし、彼らは例外です。ほとんどの場合、そのような機能はなく、PHPはそのキャンプにあります。

あなたの関数は、返すことを意味する値を返すだけで、その戻り値を使用するかどうかを呼び出し元に任せます。