0

在我关于这个的最后一个问题完全有缺陷之后,一个新的尝试。版主将尽快删除旧问题。

我正在从 index.php 中调用函数gather_info($host_object)。此函数使用 file() 方法读取文本文件。当我在函数内部使用 print_r 打印出内容以进行调试时,它工作正常。

但是(在这种情况下)3 个变量不能从 index.php 访问。它们是未定义的。我尝试使用“返回”值,但它不起作用。

索引.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中止函数的执行并立即返回调用上下文。你不能有这样的多次回报——第二次和进一步的回报实际上是不可能的,EVER被执行。

您可以进行一次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 回答