-5

さて、私にぴったりのコードがいくつかあります。

関数を呼び出すにはd($z);

$z 自体は、コード内の別の場所で宣言された変数です。

これは機能しません:

function d($x1){
$distance = $x1;
return $distance;
}

これは機能します:

function d($x1){
$distance = $x1;
echo $distance;
}

理由はありますか?

注:値をエコーし​​たくありません。後で値を変数として使用できるようにしたいのですが、必ずしも画面に出力する必要はありません。(今、上記は単純化されたバージョンであり、私が本当にやりたいことの多くが削除されていますが、上記でも適切に返されません)

私がやりたいことではありませんが、 $distance の結果を内部変数として使用したい (エコーしない) ため、そうすると<?=$distance?>戻り値が機能しません。

4

2 に答える 2

1

考えられる 2 つの (おそらくそれ以上の) 問題があります。

  1. 関数に正しい値を渡していません

    また

  2. 戻り値を変数に代入していません (例: $value = d("some value here");)

編集: $value をエコーすることを忘れないでください (格納された戻り値)

于 2013-07-05T23:02:08.823 に答える
0

どちらも期待どおりに機能しています。

最初の例では、関数 d の値を表示しません

に変更します

function d($x1)
{
         $distance = $x1;
         return $distance;
}

echo d(5);

そしてそれを表示します。

2番目のケースでは、値を返さないため関数は無効ですが、関数内に距離を表示するd()ので表示されます。

于 2013-07-05T23:35:31.623 に答える