全局变量在php中没有返回值

时间:2012-01-04 12:54:05

标签: php class function global-variables return-value

我在类的外侧定义了一个变量。我通过关键字global在类的函数中访问。我在这个变量中设置了一些值并返回变量。但是在我称之为功能的地方我什么都没得到。这是我的代码

$category_ids=array();
class Categoriesinfo
{
  function get_categories_info($feed_id)
  {
     $all_categories[] = $this->get_parent_ids(5);
     //here I receive only null
     echo '<pre>';
     var_dump($all_categories);
     echo '</pre>';
  }
  function get_parent_ids($category_id)
  {
    global $db;
    //echo '<br> '.$category_id;
    global $category_ids;
    $parent_id = $db->Execute("SELECT categories_id,parent_id FROM ".DB_PREFIX."_categories WHERE categories_id='$category_id'");

    if($parent_id->fields['parent_id']==0)
    {
        $category_ids[]=$parent_id->fields['categories_id'];
        //when I take print_r of $category_ids it shows my values but where I call this function it shows null
        return $category_ids;
    }
    else
    {

        $category_ids[]=$parent_id->fields['categories_id'];

        $this->get_parent_ids($parent_id->fields['parent_id']);
    }    
   }
}

现在在get_parent_ids函数中,当我取print_r变量的global时,我可以看到一个包含2个值的数组。但是当我调用这个函数时,我只收到null。不返回此变量。我的代码有问题,或者我做错了什么?

注意

实际上我在循环中调用函数get_parent_ids()。我没有在代码中提到它。所以每次变量的值都会改变。所以请考虑这个因素

0 个答案:

没有答案