0

これに関する私の最後の質問に完全に欠陥があった後、新しい試みです。古い質問は、モデレーターによってできるだけ早く削除されます。

index.php から関数 gather_info($host_object) を呼び出しています。この関数は、file() メソッドを使用してテキスト ファイルを読み込みます。関数内で print_r を使用してデバッグ目的で内容を出力すると、正常に動作します。

しかし、(この場合) 3 つの変数は index.php からアクセスできません。それらは未定義です。「戻り値」で遊んでみましたが、うまくいきません。

index.php:

gather_info($host_object);
for($i=0;$i<count($in);$i++){

}

収集_情報.php

function gather_info($host_object){

return  $in=file("./data/traceroute/traceroute_$host_object.txt",true);
return   $in2=file("./data/hosts/hosts_$host_object.txt",true);
return  $in3=file("./data/ping/pings_$host_object.txt",true);

}

index.php 内のファイルを読み込むと、正常に動作しています。ヒントはありますか?

4

1 に答える 1

3

return関数の実行を中止し、すぐに呼び出しコンテキストを返します。そのような複数のリターンを持つことはできません.2番目のリターンは文字通り不可能であり、それ以上のリターン実行されることはありません。

単一のreturn呼び出しで要素の配列を返すことができます。

function gather_info(...) {
   ...
   return array($in, $in2, $in3);
}

$foo = gather_info(...);
$in = $foo[0];
$in2 = $foo[1];
etc...
于 2013-07-09T21:32:19.547 に答える