It may be easier to do:

$array = $this->$name;
$array[] = $value;

Some combination of {} and $this->{$name}[] = $value may also work...

As it stands now, $name[] looks like you are trying to get an index on
$name FIRST, and then use $this-> on that SECOND...

I think.

On Thu, October 5, 2006 11:42 am, sit1way wrote:
> Hey all.
>
> I've got a simple object method that sets object vars based on a
> passed
> array:
>
> **********************************************************
> function set($arr) {
>
>     foreach($arr as $name => $value) {
>
>         if(is_array($this->name)) {
>               $this->$name[] = $value;
>         }
>         else {
>               $this->$name = $value;
>        }
>    }
> }
> *********************************************************
>
> Getting a fatal error when I include the file that contains this
> method:
>
> Fatal error: Cannot use [] for reading in path/to/my/file on line X
>
> Looks like PHP does not like the syntax of "$this->$name[]".
>
> Any clues how to set object array value in a loop?
>
> TIA,
>
> --Noah
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some starving artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

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

Reply via email to