Re: How to read (or adjust) a single entry of an object wich comes from an array
- From: onembk <onembk@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 28 Aug 2006 23:38:58 -0600
On 2006-08-26 03:37:14 -0600, "T. Wintershoven" <twintershoven@xxxxxxxxx> 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.
.
- References:
- How to read (or adjust) a single entry of an object wich comes from an array
- From: T. Wintershoven
- How to read (or adjust) a single entry of an object wich comes from an array
- Prev by Date: Re: help protecting form to email from spammers
- Next by Date: problem with dynamic populating checkbox
- Previous by thread: Re: How to read (or adjust) a single entry of an object wich comes from an array
- Next by thread: can't use include file with php tags
- Index(es):
Relevant Pages
|