You are here: Re: How to read (or adjust) a single entry of an object wich comes from an array « All PHP « IT news, forums, messages
Re: How to read (or adjust) a single entry of an object wich comes from an array

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]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация