Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1702 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  plus rien après une boucle foreach

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

plus rien après une boucle foreach

n°2349296
jluc2808
peu le savent et vous ?
Posté le 24-03-2020 à 11:44:55  profilanswer
 

bonjour ,  
je dois surement faire quelquechose de pas bien , mais je n'excute aucun code après une boucle foreach  
mon code

Code :
  1. $temp = array ();
  2. $temp = $result_data[0]->customer->usage_points[0]->usage_point->usage_point_addresses;
  3. echo '<pre>';
  4. print_r($temp);
  5. echo '</pre>';
  6. foreach ($temp as $elements) {echo "<br>test $elements";}
  7. echo "<br> message après boucle ";


 
le retour est :  

Code :
  1. stdClass Object
  2. (
  3.     [street] => 4 rue Voltaire
  4.     [locality] =>
  5.     [postal_code] => 11000
  6.     [insee_code] => 11069
  7.     [city] => Carcassonne
  8.     [country] => France
  9.     [geo_points] => stdClass Object
  10.         (
  11.             [latitude] =>
  12.             [longitude] =>
  13.             [altitude] =>
  14.         )
  15. )
  16. test 4 rue Voltaire
  17. test
  18. test 11000
  19. test 11069
  20. test Carcassonne
  21. test France


 
mais jamais "message après boucle" et le code que j'ai après ne s’exécute pas  
si je mets la boucle foreach en commentaire tout est OK affichage de "message après boucle" et exécution de la suite  
 
 
ya t il un truc que je loupe ?  
 
merci de votre aide


Message édité par jluc2808 le 24-03-2020 à 18:04:15
mood
Publicité
Posté le 24-03-2020 à 11:44:55  profilanswer
 

n°2349303
mechkurt
Posté le 24-03-2020 à 12:06:09  profilanswer
 

ton code plante sur la ligne 6 quand tu echo un element qui est un objet (la clé geo_points).
Tu peux faire :

Code :
  1. if (is_string($elements)) {echo "<br>test $elements";}


Ou une conversion en string, par exemple avec var_export($elements, TRUE)


---------------
D3
n°2349307
jluc2808
peu le savent et vous ?
Posté le 24-03-2020 à 12:16:09  profilanswer
 

génial , c'est bien cela  
question complémentaire , comment je fais pour ne prendre que  les parties hors géo_points de la boucle de ma variable $temp  

n°2349322
mechkurt
Posté le 24-03-2020 à 13:38:11  profilanswer
 

Un truc du genre ?

Code :
  1. foreach ($temp as $key => $value) {
  2. if ($key != 'geo_points') {
  3.  echo '<br>test '.$value;
  4. }
  5. }


Sinon tu avais le is_string() qui pourrait fonctionner "tout le temps" au cas ou ton objet $result_data[0]->customer->usage_points[0]->usage_point->usage_point_addresses est susceptible de changer...


---------------
D3
n°2349350
jluc2808
peu le savent et vous ?
Posté le 24-03-2020 à 18:03:14  profilanswer
 

oui la structure ne change pas et les éléments dedans sont invariant (pas les valeurs bien sur) donc ce que tu dis c'est que je peux laisser is_string() tout le temps, c'est plus simple , effectivement .  
 
merci bien


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  plus rien après une boucle foreach

 

Sujets relatifs
Alternative a la boucleCondition jQuery dans boucle Wordpress
Soustraction recherchev en boucleBoucle foreach
Erreur en fin de boucle ?Passer au tour suivant boucle for each et probleme if
Besoins de votre avis sur une applicationBoucle en SQL
probleme de boucle 
Plus de sujets relatifs à : plus rien après une boucle foreach


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR