函数与其他函数内多次调用的数组

时间:2016-08-26 19:33:51

标签: php arrays function

我在其他函数中有多次调用了一个函数。这样的事情:

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”已满,其他人空了。请帮帮我!

2 个答案:

答案 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;
    }
}