PHP数组在循环内的包含页面内

时间:2016-03-31 20:32:35

标签: php arrays

我有一个返回数组的PHP页面。我已将PHP页面包含在不同PHP页面的循环中。我只得到第一个数组的结果。当我尝试在第一次迭代后打印数组时,它什么都不打印。

Page1:

开始循环

包括Page2

循环结束

2页:

返回数组

结果

仅打印数组中的第一个值

foreach($res->list as $Flist){
    Field($k,$fi);
}

第1页:

function Field($key, $Id){
    include('inp.php');
    print_r($S_array);
}

Page2 :( inp.php)

$Deficit = f1();
for($i = 0; $i<20 ; $i++){
    $S_array[$i] = $Deficit;
}
function f1(){
  return $something;
}

1 个答案:

答案 0 :(得分:1)

您需要从f1()中删除inp.php函数定义。否则,每次包含该函数时都会尝试重新定义函数,从而导致致命错误。将其定义移动到第1页,或者只包含一次的其他文件。

但设计整个事物的更好方法是只在include文件中定义函数,并从其他文件中调用它们。

inp.php:

function get_S_Array() {
    $Deficit = f1();
    for ($i = 0; $i < 20; $i++) {
        $S_array[$i] = $Deficit;
    }
    return $S_array;
}

function f1() {
    return $something;
}

第1页:

include('inp.php');
function Field($key, $Id){
    $S_array = get_S_array();
    print_r($S_array);
}