Je cherche une bonne méthode pour :
1 - Faire la comparaison de 2 array qui ont les même champs (un array BDD et un array CSV avec les champs [ numero | nom | type | note ] ) et trouver les identiques par rapport à leur numéro !
2 - comparer chaque champs des tableaux ayant ces numéro identiques, pour vérifier s'il y a une différence entre ces 2 versions
3 - Sortir les différences entre ces 2 tableaux
Un exemple :
tableau dans la BDD
tableau dans le CSV
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 | numero | nom | type | note | | 245 | café | boisson | 5 | | 158 | banane | fruit | 3 | | 954 | poulet | viande | 4 | | 335 | brie | fromage | 6 |
En 1 ca va comparer les 2 tableau et me donner le numéro 158 car c'est le seul numero qui est identique dans les 2 tableaux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 | numero | nom | type | note | | 655 | pates | feculant | 8 | | 158 | kiwi | fruit | 2 |
En 2 on va regarder les 2 entrées identique et voir qu'on a le nom et la note qui diffère
Et en 3 on va afficher
- nom : banane -> kiwi
- note : 3 -> 2
Pour le moment je suis parti la dessus :
J'ai bien les numéro en commun qui resortent mais après je bloc un peu sur la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $records = $csv->getRecords(); foreach ($records as $record){ $numCSV[] = $record['numero']; } foreach ($produits as $produit){ $numDB[] = $produit->getNumero(); } $numCommun = array_intersect(numCSV, $numDB)
Merci






Répondre avec citation





Partager