Exploitation array

Résolu
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

  1. Contributeur
    Ceci?
    foreach ( $listcategorie as $cat )
    {
        echo $cat->libelle_cat . "<br>" ;
    }
    1. 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
      1. 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.