|
Posted by onembk on 08/29/06 05:38
On 2006-08-26 03:37:14 -0600, "T. Wintershoven" <twintershoven@casema.nl> said:
> English version:
> Hi
> In a simple testcode i made a few objects from an array.
> This works fine when i read the objects with a foreach statement. (see code
> below)
>
> But when i trie to read a single object from this array, i get an
> errormessage that an unexpected [ exists on line x
> if($objCar[1]->$this->m_sColor=="Blue")
>
> I searched the internet and found something that could bring the solution.
> Place the wanted object in a variable first and than read it.
> $oCar=$objCar[1];
> if($oCar->$this->m_sColor=="Blue")
> I now get an errormessage Fatal error: Cannot use object of type clsCar as
> array in /cursusaccounts/twintershovedu/site/OOAuto1.php on line 60
>
> My question is:
> How can i read a single object wich is created from an array so that the
> code below does work.
>
> ------------------ The
> Code ----------------------------------------------------
> $aCar = array();
>
> $aCar[0] = new clsCar("Mercedes", "A180", "Beige");
> $aCar[1] = new clsCar("Toyota", "Avensis", "Blauw");
> $aCar[2] = new clsCar("Volvo", "440", "Wit");
>
> foreach($aCar as $objCar)
> {
> $objCar->printCarProperties();
> }
>
> //Till this point all works fine..... but then......
>
> $oCar=$objCar[1];
>
> if($oCar->$this->m_sColor=="Blue")
> {
> echo"<br>Yes... This car is blue";
> }
> ----------------------------------------------------------------------------
> ---------
> Thanks in advanced
> Tino Wintershoven
> The Netherlands
Change
$oCar=$objCar[1];
to
$oCar=$aCar[1];
Your not in the foreach loop anymore so $objCar is left as equal to
$aCar[2] at that point. Your statement says in essence
$oCar=$aCar[2][1]; I assume $aCar[2][1] is invalid. Then change
if($oCar->$this->m_sColor=="Blue")
to
if($oCar->m_sColor=="Blue)
unless your $this variable has as a property name in it at that point.
If it does you could do
if ($oCar->$$this->m_sColor=="Blue")
where $this == the name of an internal object...
I don't really see why if($aCar[1]->m_sColor=="Blue") couldn't work
there as instead of all that.
Navigation:
[Reply to this message]
|