[RESOLU] Préserver les clés numériques d'un tableau lors d'une suppression d'une ligne ou colonne.

Eléphanteau du PHP | 29 Messages

10 juin 2016, 10:08

Bonjour à tous c'est encore moi :D ,

cela va faire deux jours que je suis bloqué et donc je ne peux plus avancé dans mon travail.
Voila le souci:

Rappelez-vous j'avais le vecteur:
$valCol=[1,2,3];
au lieu de supprimer les colonnes 1,2,3 je voudrais les garder et supprimer le reste des colonnes.
Je ne vois pas comment m'y prendre, j'ai réalisé plusieurs tests mais rien ne fonctionne.

Merci de votre contribution ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 juin 2016, 10:34

salut,

un foreach sur le tableau : (pour chaque ligne)
foreach sur la valeur : pour chaque colonne(index + valeur)
si l'index est dans valCol unset. Pour cela utilise la fonction http://php.net/in_array
fin foreach
fin foreach


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 29 Messages

10 juin 2016, 10:52

Salut moogli, merci pour ta réponse

Dans ton message tu voulais dire "si l'index n'est pas dans valCol unset"?
Car je veux garder les colonnes qui ont leur index dans valCol.

Eléphanteau du PHP | 29 Messages

10 juin 2016, 12:04

salut,

un foreach sur le tableau : (pour chaque ligne)
foreach sur la valeur : pour chaque colonne(index + valeur)
si l'index est dans valCol unset. Pour cela utilise la fonction http://php.net/in_array
fin foreach
fin foreach


@+
Cela ne fonctionne pas

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 juin 2016, 12:07

1/ oui ^^, mais fonctionnellement ça change pas grand chose ;) (jsute un ! en plus)
2/ "Cela ne fonctionne pas"
ça suffit pas il est où le code qui va avec ?

=> tu va chez le médecin en disant "j'ai malade, mais tu restes à 100m de moi" ? ;)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 29 Messages

10 juin 2016, 12:32

1/ oui ^^, mais fonctionnellement ça change pas grand chose ;) (jsute un ! en plus)
2/ "Cela ne fonctionne pas"
ça suffit pas il est où le code qui va avec ?

=> tu va chez le médecin en disant "j'ai malade, mais tu restes à 100m de moi" ? ;)

@+
non moi quand je vais chez le médecin je lui dit "je suis malade et non pas j'ai malade" looool :D

Voici le code:
foreach($tab as $ligne => $colonne){
  foreach ($colonne as $key => $value) {
    if(in_array($key, $valCol)==false)
    unset($tab[$key]);
   }
}

Mammouth du PHP | 1967 Messages

10 juin 2016, 13:05

foreach($tab as $ligne => $colonne){
  foreach ($colonne as $key => $value) {
    if(in_array($key, $valCol)==false)
    unset($tab[$ligne][$key]);
   }
}
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 29 Messages

10 juin 2016, 15:12

Merci Spols :)