我在其他函数中有多次调用了一个函数。这样的事情:
function function_one()
{
global $get, $count;
function_two ();
$ok1 = $get[0];
function_two ();
$ok2 = $get[1];
function_two ();
$ok3 = $get[2];
}
在“function_two()”中,我将变量“$ get”设置为数组,我有一个计数器,类似于:
function function_two()
{
global $get, $count;
// something here
$get = array();
if (isset($count))
{
$count = $count;
} else {
$count = 0;
}
$get[$count] = $some_value;
$count ++;
}
问题:只有“$ ok3”已满,其他人空了。请帮帮我!
答案 0 :(得分:-1)
我假设第二个函数是函数二(你把函数一个)问题是
$get=array();
这会将get数组重置为空(全部)
在调用所有这些之前,我会删除该行并将$get=array();
移动到您的main函数。或者你可以把它移到函数1的顶部(真正的函数)
答案 1 :(得分:-1)
第二个注释中的function_one()实际上是function_two()。你的问题在这里:
$get = array();
每次调用函数时,都将 $ get 变量格式化为空数组。无论如何,不使用全局。而是创建一个包含变量和使用参数的类。
class Count {
public $get = array();
function_two($count) {
$this->get[$count] = $some_value;
$count++;
return $count;
}
function get() {
return $this->get;
}
}