Page 1 sur 1

Problème tableau objects PHP5

Posté : 25 déc. 2008, 01:13
par webdev
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]

Posté : 25 déc. 2008, 02:27
par Sékiltoyai
L'explication sur cette page.

Posté : 25 déc. 2008, 15:21
par Invité
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.

Problème réglé

Posté : 25 déc. 2008, 16:22
par webdev
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.

Re: Problème réglé

Posté : 26 déc. 2008, 00:06
par Sékiltoyai
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…

Posté : 26 déc. 2008, 00:30
par Invité
Merci bien pour le conseil.

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