|
Posted by laredotornado@zipmail.com on 03/01/07 15:45
On Mar 1, 9:38 am, Mike Roetgers <miker...@informatik.uni-bremen.de>
wrote:
> laredotorn...@zipmail.com schrieb:
>
> > Hi,
>
> > Using PHP 4.4.4, I have a class defined like so
>
> > class CUserItem {
> > var $m_id;
> > var $m_children_arr;
> > function CUserTOCItem($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
>
> > then in a separate bit of code, I have an associative array of
> > objects, with the key being the id and the value being the object.
> > Unfortunately, when I try and manipulate the objects in the array, it
> > doesn't take ...
>
> > $item = new CUserItem(1);
> > $item2 = new CUserItem(2);
> > $toc_items_arr[1] = $item;
> > $item->addChild($item2);
> > print $toc_items_arr[1]-
> >> numChildren(); // still prints zero!
>
> > The "print" line should print out "1" because I have added a child.
> > But it does not. What's going wrong? - Dave
>
> I don't see a constructor in your class. When you're working with PHP4,
> you must name the constructor like the class:
>
> class CUserItem {
> function CUserItem($value)
> {}
>
> }
Excuse me, I rewrote my code to make a little more sense on the
newsgroup but forgot to change a couple of things. here is the classs
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
Please consider this class in the question posed above. -
Navigation:
[Reply to this message]
|