我有一个返回数组的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;
}
答案 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);
}