Encore un undefined offset

Encore un undefined offset - PHP - Programmation

Marsh Posté le 03-10-2008 à 16:47:20    

Bonjour,  
 
il me semble que lorque que l'on a un undefined offset c'est parce que ce n'est pas un tableau.
 
Je m'explique : j'ai un Undefined offset: 5 à la ligne x.
 
Cette ligne contient  

Code :
  1. <?php $offer[$lot->getId()] ; ?>


 
Le 5 correspond à $lot->getId().  
Quand je fais un getType de $offer il me met bien que c'est un array.  
 
Voici l'initialisation de $offer :

Code :
  1. $offer = $consultation->getPrixOffreByLot();


 
Voici la fonction  getPrixOffreByLot()
 

Code :
  1. public function getPrixOffreByLot()
  2. {
  3.  $programme = $this->getProgramme();
  4.     if(!$programme->isMaison())
  5.       return array();
  6.  $prestas = $programme->getPrestationsNeeded($this->getActiviteId());
  7.  $prestations = array();
  8.  foreach($prestas as $presta):
  9.    $lot_id = $presta->getLotsId();
  10.    if(!isset($prestations[$lot_id]))
  11.      $prestations[$lot_id] = array();
  12.    $prestations[$lot_id][]=$presta;
  13.  endforeach;
  14.   
  15.  $return = array(); 
  16.  // On récupère l'ensemble des sous items dqe nécessaires, on les regroupe par lot   
  17.   foreach($programme->getLots() as $lot)
  18.     if(isset($prestation[$lot->getId()]))
  19.      $return[$lot->getId()] = $this->getPrixOffre($lot->getId(), $prestations[$lot->getId()]);
  20.  
  21.   return $return;
  22. }


 
Si vous voyez d'où peut provenir l'erreur.  Merci d'avance.
 
 
 
 
 

Reply

Marsh Posté le 03-10-2008 à 16:47:20   

Reply

Marsh Posté le 03-10-2008 à 17:13:56    

undefined offset ça veut juste dire que cet élément n'existe pas dans ton tableau  
 
avant de le lire, il faut que tu vérifié si il existe


---------------

Reply

Marsh Posté le 03-10-2008 à 17:28:13    

Merci pour ta réponse.

 

Euh ben en fait j'ai fais un var_dum de $offer qui est mon tableau. Et il me retourne array(0) { }.

 

Je fais un echo isset($offer[$lot->getId()]) et il me renvoie rien. Donc c'est que mon tableau est vide. Mais normalement non. Je comprends pas d'où vient le problème.


Message édité par kifouillou le 03-10-2008 à 17:28:50
Reply

Marsh Posté le 03-10-2008 à 21:09:44    

return $return;  
 
la classe :sol:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed