Type stdClass

Résolu
jujubossmortel Messages postés 12 Statut Membre -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
en voulant corriger mon code, j'ai découvert cette erreur ce qui casse tous le résultat:



voici le code qui me produit cette erreur :
$NewLongueurVal = null;
                for ($i = 0 ; count($tableProfil) > $i ; $i++){

                    // comparaision des longueur avec la BD et récueration des bonnes longueur
                    if($NumPaquet == $NbLigne){
                     if( $NewLongueurVal == null && $LongAvantBD[$i] > $LgDecoupeMinArrondiVal){
                        $NewLongueurVal = $LongAvantBD[$i];
                    }
                    if($LgDecoupeMinArrondiVal < $LongAvantBD[$i] && $LongAvantBD[$i] < $NewLongueurVal){
                        $NewLongueurVal = $LongAvantBD[$i];
                        $ligne[5]=$LongAvantBD[$i];
                    }}
                    else{
                    if( $NewLongueurVal == null && $LongBD[$i] > $LgDecoupeMinArrondiVal){   
                        $NewLongueurVal = $LongBD[$i];
                    }
                    if($LgDecoupeMinArrondiVal < $LongBD[$i] && $LongBD[$i] <= $NewLongueurVal){
                        $NewLongueurVal = $LongBD[$i];
                        $ligne[5]=$LongBD[$i];
                    }}}


la partie exacte qui produit l'erreur est "$LongBD[$i] <= $NewLongueurVal", quand je retire le signe "<=" et met juste "<", l'erreur ne ce produit plus mais ce n'est pas le resultat souhaiter

merci par avance de votre aide

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Il te suffit de convertir ton objet en array ...
    par exemple
    $object = new StdClass;
    $object->foo = 1;
    $object->bar = 2;
    
    var_dump( (array) $object );

    ou alors.. d'arrêter d'utiliser des boucle for à l'ancienne .. et passer à du foreach

    0
  2. jujubossmortel Messages postés 12 Statut Membre
     
    Merci pour ton aide mais j'ai resolu le problème autrement,

    ma récupération de tableau ce faisait comme ca,
    $tab = (json_decode($Tab)); 
    


    et maintenant je la fais comme ca pour bien recupérer un array et pas un stdClass,
    $tab = (json_decode($Tab,true)); 
    
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      C'est la solution que je t'aurais en effet donné ...... si j'avais eu ces lignes de code sous les yeux dès le départ ...
      A l'avenir, pense à nous donner l'intégralité du code et pas juste un extrait ..ça peut aider!
      0