Problème tableau objects PHP5

webdev
Invité n'ayant pas de compte PHPfrance

25 déc. 2008, 01:13

Bonjour,
j'ai un problème vrmt bizarrd qd je passe du php4 au php5 .
je récupére des objects sans problème je teste leur contenu il est bien..mais qd je les stock ds un tableau, et je sors de ma boucle puis j'affiche mon tableau il me retourne le nombre d'éléments ds la boucle mais tj avec le dernier champ.
qlq'un peut m aider ?
            $count = 0;
	    $liste_categorie = array();
	    $InstConnexion  = new Connexion();       
		$InstCategorie	= new Categorie();
		$InstConnexion->connect();	   	
		$requet = "select * from catalog_categorie order by nom_categorie ";
		$result = mysql_query($requet);
		while($row = mysql_fetch_array($result)){
	        $InstCategorie->Init_Donnees($row[0],$row[1],$row[2],$row[3]);	       

	//quand j affiche l object ici il n ya pas de souci et juste apres je l affecte

		$liste_categorie[$count] = InstCategorie;									
		$count++;			 
	    }
     //	quand j affiche mon tableau mnt il me donne le dernier element repeté					
		print_r($liste_categorie);
[/php]

ViPHP
ViPHP | 5924 Messages

25 déc. 2008, 02:27

L'explication sur cette page.

Invité
Invité n'ayant pas de compte PHPfrance

25 déc. 2008, 15:21

j'ai vu ce que vous m'avez filé comme info,

je n'ai pas un problème de syntaxe, car je récupère bien les valeurs dans mon object, mais quand je les stocke ds un tableau c'est la ou ça ne marche pas.

webdev
Invité n'ayant pas de compte PHPfrance

25 déc. 2008, 16:22

en fait l'erreur n'etait pas au niveau de la syntaxe car mon code marchait bien en php4.

mais l'erreur est la suivante : je voulais stocker des objects dans un tableau de string, chose qui n'est pas logique,

j'ai stocké les attributs de mon objet dans le tableau et ça a marché.

Merci bcp en tout cas, j'espère que ça pourra servir aux autres, car j'ai vraiment galéré pour comprendre.

ViPHP
ViPHP | 5924 Messages

26 déc. 2008, 00:06

en fait l'erreur n'etait pas au niveau de la syntaxe car mon code marchait bien en php4.

mais l'erreur est la suivante : je voulais stocker des objects dans un tableau de string, chose qui n'est pas logique,
Non, non, ce n'est pas cela l'erreur. Et je n'ai jamais dit que c'était un problème de syntaxe…
Je vais quoter la documentation pour être plus clair :
Lors de l'assignation d'une instance déjà créée d'une classe à une variable, la nouvelle variable accédera à la même instance de l'objet assigné. Ce comportement est le même que lors du passage d'une instance à une fonction. Une copie d'un objet déjà créé peut être effectuée par clonage.
Manifestement tu ne maîtrises pas le comportement des objets en PHP5. Je te conseille grandement de lire la référence sans quoi tu t'exposes à de graves disfonctionnements…

Invité
Invité n'ayant pas de compte PHPfrance

26 déc. 2008, 00:30

Merci bien pour le conseil.

J'ai compris ce que vous voulez dire, je vais revoir la documentation.