| 
	
 | 
 Posted by Steve on 03/01/07 17:28 
<laredotornado@zipmail.com> wrote in message  
news:1172766345.255553.20170@v33g2000cwv.googlegroups.com... 
| Hi, 
| 
| Using PHP 4.4.4, and I have this class 
| 
|        class CUserItem { 
|                var $m_id; 
|                var $m_children_arr; 
|                function CUserItem($p_id) 
|                { 
|                        $this->m_id = $p_id; 
|                        $this->m_children_arr = array(); 
|                }   // CUserItem 
|                function addChild($p_child) { 
|                        array_push($this->m_children_arr, $p_child); 
|                }   // addChild 
|                function numChildren() { 
|                        return count($this->m_children_arr); 
|                }   // numChildren 
|        }   // CUserItem 
| 
| I have an associative array of objects, but am getting errors trying 
| to call a method 
| 
| $items_arr = array(); 
| $items_arr[0] = new CUserItem(1); 
| $item = &$items_arr[0]; 
| print $item->numChildren();              // produces an error 
| 
| The error produced is "Fatal error: Call to a member function on a non- 
| object in /usr/local/apache2/htdocs/portal/show_toc.inc on line 77". 
| I need to get the object by reference because I will be manipulating 
| it later on.  What am I doing wrong above? 
 
print_r on $items_arr[0], then print_r on $item after it is set by ref to  
$items_arr[0]. finally print_r on $item after $item is set to $items_arr[0]  
by value. therein lies the difference.
 
  
Navigation:
[Reply to this message] 
 |