Exploitation array

Résolu
petit240 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
petit240 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
Mon objectif est d'extraire les informations d'un array.
Cet array est $listcategorie , créer à partir de différentes classes POO.
Array (
[0] => category Object ( 
[id_cat:category:private] => 1
[libelle_cat:category:private] => Individuelle
[tarif_cat:category:private] => 10.000
)
[1] => category Object (
[id_cat:category:private] => 2
[libelle_cat:category:private] => Groupe
[tarif_cat:category:private] => 20.000 
)
)

Jai un champ de formulaire du type select, qui pour chaque option doit reprendre en valeur d'attribut l'id de la catégorie [id_cat:category:private] , et afficher [libelle_cat:category:private] pour les 2 options.
Je sais qu'il me faut un foreach() mais pour l'utiliser dans ce cas précis galère.

Merci d'avance

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Ceci?
foreach ( $listcategorie as $cat )
{
    echo $cat->libelle_cat . "<br>" ;
}
1
petit240 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Ca fonctionne, j'ai dû modifier libelle_cat par ma fonction getLibelleCat(), l'attribut est privé.
Je me pose une question : dans mon manager de class, pour chaque instance dans ma bdd, je crée un objet category avec l'ensemble des données, du coup au lieu de faire une liste, je peux directement chercher ma valeur dans mon objet non ?
class category {
	private $id_cat;
	private $libelle_cat;
	private $tarif_cat;
	
	public function __construct($donnees)
	{
		if (isset($donnees['id_cat']))
		{
		$this->setIdCat($donnees['id_cat']);
		}
		if (isset($donnees['libelle_cat']))
		{
		$this->setLibelleCat($donnees['libelle_cat']);
		}
		if (isset($donnees['tarif_cat']))
		{
		$this->setTarifCat($donnees['tarif_cat']);
		}
	}
	public function hydrate(array $donnees){
		$this->id_cat = $donnees['category'];
	}
	public function getIdCat()
	{
		return $this->id_cat;
	}
	public function getLibelleCat()
	{
		return $this->libelle_cat;
	}
	public function getTarifCat()
	{
		return $this->tarif_cat;
	}
	public function setIdCat($id)
	{
		$this->id_cat = $id;
	}
	public function setLibelleCat($lib)
	{
		$this->libelle_cat = $lib;
	}
	public function setTarifCat($tarif)
	{
		$this->tarif_cat = $tarif;
	}
} 


Merci beaucoup
0
petit240 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Après réflexion j'ai compris, la ligne de mon array est un objet, du coup j'applique la fonction à ma ligne que je change de nom dans les paramètres.
0