Hi,

Friday, April 23, 2004, 1:00:34 PM, you wrote:
DN> I'm having a problem using classes.  The problem stemed from
DN> using arrays to store a bunch of users and their usage times.

DN> I have an object with two members, $name and $onlineSecs.  No
DN> matter how hard I try...$name always gets modified.  I try
DN> referencing $onlineSecs directly...I've tried writing mod
DN> functions.  I cannot stop the problem.

DN> Here is a simplified code chunk (the echo's are for debugging):

DN> <?php
DN>   class someuser{
DN>     var $name;
DN>     var $onlineSecs;    

DN>     function someuser(){
DN>        echo "Default constructor<BR>\n";
DN>       $this->$name = 'Some Name';
DN>        echo "name: ".$this->$name."<BR>\n";
DN>       $this->$onlineSecs = 0;
DN>        echo "name: ".$this->$name."<BR>\n";     
DN>        echo "ontime: ".$this->$onlineSecs."<BR>\n";     
DN>     }
DN>   } 

DN>   $bob = new someuser;
DN>   echo "Bob's Name: ".$bob->$name."<BR>\n"; 
DN>   echo "Bob's ontime: ".$bob->$onlineSecs."<BR>\n";
?>>

DN> It produces the following output:

DN> Default constructor<BR>
DN> name: Some Name<BR>
DN> name: 0<BR>
DN> ontime: 0<BR>
DN> Bob's Name: 0<BR>
DN> Bob's ontime: 0<BR>

DN> However...all the Names should be "Some name".  Can someone
DN> please explain to me what dumb mistake I've made becuase I'm
DN> tearing my hair out over something so simple!

DN> Thank you,
DN> Dickon...

You are accessing the members incorrectly
change echo "Bob's Name: ".$bob->$name."<BR>\n";
to echo "Bob's Name: ".$bob->name."<BR>\n";

PHP will try to substitute $bob and will end up with null which is not
what you want.

-- 
regards,
Tom

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to