Lecture Array [Résolu]

Signaler
Messages postés
270
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
4 avril 2019
-
 laurent1133 -
Bonjour,
Je suis vraiment débutant en PHP et je sèche depuis des lustres sur la lecture d'un tableau.
Si vous avez la solution j'en serai très reconnaissant et je pourrai avoir un exemple qui me permettra de comprendre.

Voilà le contenu de ma classe
stdClass Object ( [out] => Array ( [0] => stdClass Object ( [status] => 6 [positions] => Array ( [0] => stdClass Object ( [position] => 1 [numbers] => 13 ) [1] => stdClass Object ( [position] => 2 [numbers] => 14 ) [2] => stdClass Object ( [position] => 3 [numbers] => Array ( [0] => 9 [1] => 11 ) ) [3] => stdClass Object ( [position] => 5 [numbers] => 5 ) [4] => stdClass Object ( [position] => 6 [numbers] => 1 ) [5] => stdClass Object ( [position] => 7 [numbers] => 4 ) ) ) ) )

Résultat que je veux obtenir
13 - 14 - 9/11 - 5 - 1 - 4

Ça doit pas être compliqué je pense mais moi je ne trouve pas.
Merci beaucoup d'avance.

5 réponses

Messages postés
29788
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 octobre 2020
338
Bonjour,

Pour manipuler un tableau, tu peux le faire via des boucles de type FOREACH par exemple..


foreach ($array as $key => $value) {
 echo "Key : ".$key. " value => " .$value;
}


Messages postés
270
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
4 avril 2019

Bonjour,

Oui j'ai déjà fait l'essai mais je m'en sort par vraiment sachant qu'il
y a plusieurs objets...

Merci beaucoup.
Messages postés
29788
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 octobre 2020
338
Bonsoir,

Ah oui... un tableau multi-dim associatif de tableaux......

Dans ce cas.. un truc du genre (à adapter)
 //------------------------------------------
 // Création d'un Tableau pour simuler le tient:
 //------------------------------------------
 $tbl1['position']=1;
 $tbl1['numbers']=1;
 $tbl2['position']=2;
 $tbl2['numbers']=2;
 $tbl3['position']=3;
 $tbl3['numbers']=13;
 $tbl4['position']=3;
 $tbl4['numbers']=array(8,11);
 
  $tablo=array();
  $tablo['out']['status']=6;
  $tablo['out']['positions'][]=$tbl1;
  $tablo['out']['positions'][]=$tbl2;
  $tablo['out']['positions'][]=$tbl3;
  $tablo['out']['positions'][]=$tbl4;

 //------------------------------------------ 
 // Traitement à proprement parlé..
 //------------------------------------------
 for($x=0;$x<count( $tablo['out']['positions']);$x++){
		if(!is_array($tablo['out']['positions'][$x]['numbers'])){
			echo $tablo['out']['positions'][$x]['numbers']."  ";
		}else{
			for($z=0;$z<count($tablo['out']['positions'][$x]['numbers']);$z++){
				echo $tablo['out']['positions'][$x]['numbers'][$z];
				if($z<count(count($tablo['out']['positions'][$x]['numbers']))){
					echo "/";
				}
			}
		}
	}
 
 

Merci beaucoup.
Avec votre exemple j'ai bien compris ctte fois.
Messages postés
270
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
4 avril 2019

Dernière petite question svp.
Toujours à a partir de mon tableau ci-dessous récupérer dans une variable la valeure d'une position sans foreach etc...

stdClass Object ( [out] => Array ( [0] => stdClass Object ( [status] => 6 [positions] => Array ( [0] => stdClass Object ( [position] => 1 [numbers] => 13 ) [1] => stdClass Object ( [position] => 2 [numbers] => 14 ) [2] => stdClass Object ( [position] => 3 [numbers] => Array ( [0] => 9 [1] => 11 ) ) [3] => stdClass Object ( [position] => 5 [numbers] => 5 ) [4] => stdClass Object ( [position] => 6 [numbers] => 1 ) [5] => stdClass Object ( [position] => 7 [numbers] => 4 ) ) ) ) )

Exemple
$res=Montableau->status

Merci
Perso je trouve pas d'intérêt a ton tableau sauf a se compliquer l'existence. Les fonctions dédiées sont ici : http://php.net/manual/fr/function.in-array.php
Messages postés
29788
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 octobre 2020
338
Dernière petite question svp.

Attention... ici on ne doit poser qu'UNE question par discussion.
Si tu as une nouvelle question il te faut ouvrir une nouvelle discussion normalement...


Mais bon.. faisons une petite exception...

Tu veux récupérer dans une variable la valeure d'une position ... position que tu connais ? ou une au piff ??

Si tu la connais.. avec l'exemple que je t'ai donnée précédement.. tu devrais pouvoir t'en sortir non ?
 $position = 1;
 $mavariable=$tablo['out']['positions'][$position]['numbers'];


Si tu rencontres des soucis avec l'utilisation de ce code ou que tu souhaites poser une nouvelle question, merci de bien vouloir par la suite ouvrir une nouvelle discussion.