Problème foreach - suppression ligne Array
                                    
                        M_Tufux                    
                                    -
                                     
M_Tufux -
        M_Tufux -
        Bonjour,
J'ai ce foreach qui fonctionne:
et celui-ci:
Ma question est la suivante: Dans mon cas, j'aimerais obtenir la valeur de l'indice count($tab/2). Si j'ai un tableau php avec les indices 0, 1, 2 etc., que je décide de supprimer l'indice 2 et que $key dans mon foreach contient la clé de chaque ligne, comment est-ce que je peux savoir quel est l'indice le plus proche de count($tab/2)?
je vous montre mes var_dump:
AVANT
array (size=10)
0 => string 'Très bien' (length=10)
'0ID' => string '2' (length=1)
1 => string 'Bien' (length=4)
'1ID' => string '3' (length=1)
2 => string 'Moyen' (length=5)
'2ID' => string '4' (length=1)
3 => string 'Mauvais' (length=7)
'3ID' => string '5' (length=1)
4 => string 'Mauvais' (length=7)
'4ID' => string '5' (length=1)
APRES
array (size=8)
0 => string 'Très bien' (length=10)
'0ID' => string '2' (length=1)
2 => string 'Moyen' (length=5)
'2ID' => string '4' (length=1)
3 => string 'Mauvais' (length=7)
'3ID' => string '5' (length=1)
4 => string 'Mauvais' (length=7)
'4ID' => string '5' (length=1)
Votre aide est la bienvenue! Merci!
                
            
                
    
    
    
        J'ai ce foreach qui fonctionne:
foreach ($reponse as $key => $value) {
            unset($value[$min['ID']]);
            unset($value[$min['ID'].'ID']);
            $reponse[$key] = $value;
          }
et celui-ci:
foreach($reponse as $key => $value)
      {
        //Je souhaite les index de la 2e dimension donc 2e foreach
        foreach($value as $key2 => $value2)
        {
          echo floor(count($value)/4);
          var_dump($value);
          //Division par 4 pour ne pas prendre en compte les ID et pour diviser par 2 les reponses => mediane
          if($key2 == floor(count($value)/4) && is_numeric($key2))
          {
            //idReponseArray = ID
            $mediane[$key]['idTabReponse'] = $key2;
            //ID reponse de tblreponse
            $mediane[$key]['idTBLReponse'] = $value[$key2.'ID'];
          }
        }
      }
Ma question est la suivante: Dans mon cas, j'aimerais obtenir la valeur de l'indice count($tab/2). Si j'ai un tableau php avec les indices 0, 1, 2 etc., que je décide de supprimer l'indice 2 et que $key dans mon foreach contient la clé de chaque ligne, comment est-ce que je peux savoir quel est l'indice le plus proche de count($tab/2)?
je vous montre mes var_dump:
AVANT
array (size=10)
0 => string 'Très bien' (length=10)
'0ID' => string '2' (length=1)
1 => string 'Bien' (length=4)
'1ID' => string '3' (length=1)
2 => string 'Moyen' (length=5)
'2ID' => string '4' (length=1)
3 => string 'Mauvais' (length=7)
'3ID' => string '5' (length=1)
4 => string 'Mauvais' (length=7)
'4ID' => string '5' (length=1)
APRES
array (size=8)
0 => string 'Très bien' (length=10)
'0ID' => string '2' (length=1)
2 => string 'Moyen' (length=5)
'2ID' => string '4' (length=1)
3 => string 'Mauvais' (length=7)
'3ID' => string '5' (length=1)
4 => string 'Mauvais' (length=7)
'4ID' => string '5' (length=1)
Votre aide est la bienvenue! Merci!
        A voir également:         
- Problème foreach - suppression ligne Array
- Forcer suppression fichier - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Suppression compte gmail - Guide
- Formulaire en ligne de meta - Guide
1 réponse
                        
                    Salut,
Tu peux éventuellement réindexer les clés de ton tableau après la suppression d'un élément. Exemple :
Bonne journée,
    
                Tu peux éventuellement réindexer les clés de ton tableau après la suppression d'un élément. Exemple :
$array1 = array('valeur0', 'valeur1', 'valeur2', 'valeur3');
var_dump($array1); // array keys : 0, 1, 2, 3
unset($array1[1]);
var_dump($array1); // array keys : 0, 2, 3
$array2 = array_values($array1);
var_dump($array2); // array keys : 0, 1, 2
Bonne journée,
 
    
    
    
    
Merci pour ta réponse. Je viens de régler le problème hier. Je ne vais pas entrer dans les détails mais pour détecter que je suis au milieur du tableau dans le foreach, j'utilise une variable $i que j'incrémente à chaque passage. Ensuite, j'utilise la $key actuelle que je mets dans mon nouveau tableau
Voilà!