when you reference a property of a class you don't need to say it's a
variable, 
so use $this->item[] instead of $this->$items[$id] and it works okay. I
haven't quite worked out why it went wrong in the way it did ... and that'll
worry me until I do.

        Tim Ward
        Senior Systems Engineer

Please refer to the following disclaimer in respect of this message:
http://www.stivesdirect.com/e-mail-disclaimer.html


> -----Original Message-----
> From: Stefan Kostopoulos [mailto:[EMAIL PROTECTED]]
> Sent: 08 May 2001 20:31
> To: [EMAIL PROTECTED]
> Subject: Classes and arrays
> 
> 
> Hi!
> 
> Can anybody explain to me why this script outputs:
> 
> oneone
> 
> instead of:
> 
> zeroone
> 
> ???????????
> 
> Thanks,
> 
> stefan
> 
> 
> <?
> class Cart {
>     var $items;  // Items in our shopping cart
>    
>     function add_item ($id,$text) {
>         $this->$items[$id] = $text;
>     }
>    
>    function output($id){
>               
>               echo $this->$items[$id];
>        }
> 
> }
> 
> 
> $c = new Cart;
> $c->add_item(0,"zero");
> $c->add_item(1,"one");
> $c->output(0);
> $c->output(1);
> 
> 
> ?>
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to