Bonjour,
J'ai actuellement 2 tableaux qui se présentent comme ceci:
Tableau 1:
array
0 =>
array
'formationIntitule' => string XXXXXX'
'objectifPro2' => string 'Remise à niveau'
'objectifPro6' => string 'Autres'
'formNiveau' => string 'Satisfaisant'
'formAccueil' => string 'Satisfaisant'
'formRespect' => string 'Très satisfaisant'
'formContenu' => string 'Très satisfaisant'
'formSupport' => string 'Très satisfaisant'
'formRythme' => string 'Très satisfaisant'
'formDuree' => string 'Très satisfaisant'
'formPedago' => string 'Très satisfaisant'
'formDispo' => string 'Très satisfaisant'
'formOrga' => string 'Satisfaisant'
'eval' => string '9'
1 =>
array
'formationIntitule' => string 'XXXX'
'formNiveau' => string 'Satisfaisant'
'formAccueil' => string 'Très satisfaisant'
'formRespect' => string 'Satisfaisant'
'formContenu' => string 'Satisfaisant'
'formSupport' => string 'Satisfaisant'
'formRythme' => string 'Très satisfaisant'
'formDuree' => string 'Très satisfaisant'
'formPedago' => string 'Très satisfaisant'
'formDispo' => string 'Très satisfaisant'
'formOrga' => string 'Satisfaisant'
'eval' => string '9'
Tableau 2
array
0 =>
array
'formationIntitule' => string 'Anglais'
1 =>
array
'formationIntitule' => string Français'
2 =>
array
'formAccueil' => string 'Satisfaisant'
Je souhaiterais supprimer du tableau 1 tous les enregistrements ne correspondant pas au tableau 2.
En gros dans ce cas précis, je ne veux garder dans le tableau 1 que les enregistrements avec "formationInitule" égal à "Anglais" ou "Français", ainsi que les "formAccueil" = "Satisfaisant"
Je tourne en rond depuis un moment sans trouver la solution qui doit être toute bête…
Il y a bien la solution consistant à passer en revu les éléments du tableau 2, et pour chacun vérifier s'il sont présents dans le tableau 2 (et supprimer ce qu'il faut), mais peut-être existe-t-il des fonctions déjà faites pour ça?
Par avance, merci!
avec des array_map et array_intersect il doit pouvoir se faire des trucs, ou avec un array filter,
Mais pour bien comprendre, tu souhaites garder toute la ligne du tableau 1 si l'une des condition est remplie ou filtrer sur la ligne que les clés présentes dans le tableau 2?
immaginons que tab 1 :
array
0 =>
array
'formationIntitule' => string Français'
'objectifPro2' => string 'Remise à niveau'
'objectifPro6' => string 'Autres'
'formNiveau' => string 'Satisfaisant'
'formAccueil' => string 'Satisfaisant'
'formRespect' => string 'Très satisfaisant'
'formContenu' => string 'Très satisfaisant'
'formSupport' => string 'Très satisfaisant'
'formRythme' => string 'Très satisfaisant'
'formDuree' => string 'Très satisfaisant'
'formPedago' => string 'Très satisfaisant'
'formDispo' => string 'Très satisfaisant'
'formOrga' => string 'Satisfaisant'
'eval' => string '9'
1 =>
array
'formationIntitule' => string 'Anglais'
'formNiveau' => string 'Satisfaisant'
'formAccueil' => string 'Très satisfaisant'
'formRespect' => string 'Satisfaisant'
'formContenu' => string 'Satisfaisant'
'formSupport' => string 'Satisfaisant'
'formRythme' => string 'Très satisfaisant'
'formDuree' => string 'Très satisfaisant'
'formPedago' => string 'Très satisfaisant'
'formDispo' => string 'Très satisfaisant'
'formOrga' => string 'Satisfaisant'
'eval' => string '9'
2 =>
array
'formationIntitule' => string 'Allemand'
'formNiveau' => string 'Satisfaisant'
'formAccueil' => string 'Très satisfaisant'
'formRespect' => string 'Satisfaisant'
'formContenu' => string 'Satisfaisant'
'formSupport' => string 'Satisfaisant'
'formRythme' => string 'Très satisfaisant'
'formDuree' => string 'Très satisfaisant'
'formPedago' => string 'Très satisfaisant'
'formDispo' => string 'Très satisfaisant'
'formOrga' => string 'Satisfaisant'
'eval' => string '9'
et ton même tableau 2,
Le résultat serait :
array
0 =>
array
'formationIntitule' => string Français'
'objectifPro2' => string 'Remise à niveau'
'objectifPro6' => string 'Autres'
'formNiveau' => string 'Satisfaisant'
'formAccueil' => string 'Satisfaisant'
'formRespect' => string 'Très satisfaisant'
'formContenu' => string 'Très satisfaisant'
'formSupport' => string 'Très satisfaisant'
'formRythme' => string 'Très satisfaisant'
'formDuree' => string 'Très satisfaisant'
'formPedago' => string 'Très satisfaisant'
'formDispo' => string 'Très satisfaisant'
'formOrga' => string 'Satisfaisant'
'eval' => string '9'
1 =>
array
'formationIntitule' => string 'Anglais'
'formNiveau' => string 'Satisfaisant'
'formAccueil' => string 'Très satisfaisant'
'formRespect' => string 'Satisfaisant'
'formContenu' => string 'Satisfaisant'
'formSupport' => string 'Satisfaisant'
'formRythme' => string 'Très satisfaisant'
'formDuree' => string 'Très satisfaisant'
'formPedago' => string 'Très satisfaisant'
'formDispo' => string 'Très satisfaisant'
'formOrga' => string 'Satisfaisant'
'eval' => string '9'
ou
array
0 =>
array
'formationIntitule' => string Français'
'formAccueil' => string 'Satisfaisant'
1 =>
array
'formationIntitule' => string 'Anglais'
'formAccueil' => string 'Très satisfaisant'
?
Bonjour,
Désolé pour le temps de réponse, les vacances, tout ça... ;)
Bref, je souhaiterais garder toute la ligne du tableau 1 si elle remplie les conditions.
Bonjour,
Dans ce cas, regarde du coté de la fonction array_filter : https://www.php.net/manual/fr/function.array-filter.php.
Tu l'appliques à ton tableau 1, qui va dire en gros pour chaque élément je garde ou je supprime. Et là, tu fais tes vérifs par rapport à ton tableau 2.