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
- Aller à la ligne excel - Guide
- Apparaitre hors ligne instagram - 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à!