Static array causing problem in recursion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello guys,
I was trying to use a recursive function to do a tree traversal.. i used a
static array to store the nodes at each recursion.. The function works
correctly if it is called only once during an execution.. but when i call it
twice or more, the nodes get appended to the array...hers the var dump of
the array...
Three:Array ( [0] => W4 )
Two:Array ( [0] => W4 [1] => W3 [2] => W4 )
One:Array ( [0] => W4 [1] => W3 [2] => W4 [3] => W2 [4] => W3 [5] => W4 )

I tried to reset() the array and all but not working..i am not able to
chnage the index of the $rootsarray  back to 0... the new elelnts are added
at the end only...can anyone give me a push in the right direction?? Im
using PHP Version 5.2.9 in XAMPP... Hers the source...

    public function getAllChildren($node,$level)
    {
        static $rootsarray=array();
        static $levelcount;
        $levelcount=$level;
        $child=self::getChild($node);
        if($child==''||$levelcount==0)
        {
            return 1;
        }
        else
        {
            $levelcount--;
            $rootsarray[]=$child;
            self::getAllChildren($child,$levelcount);
        }
        return $rootsarray;

    }

Midhun Girish

[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux