J'essaie d'utiliser array_diff pour comparer deux tableaux contenant des noms d'utilisateurs. Ca marche assez bien, très bien même en fait.
Le problème est que je ne sais absolument pas me servir du résultat : soit j'utilise un tableau à 2 dimension contenant AUSSI le mail de l'utilisateur, auquel cas array_diff relève ceux qui ont simplement modifié leur adresse mail, soit j'utilise un tableau contenant uniquement le nom d'utilisateur et je ne sais plus retrouver le mail de l'utilisateur correspondant aux valeurs (noms d'utilisateurs) retournées par array_diff.
Comment faire ?
Ci-dessous un début de code d'illustration :
<?php
// Je récupère mon fichier
$name = $_FILES['csv']['name'];
$tmp_name = $_FILES['csv']['tmp_name'];
//Je vais faire 2 tableaux pour récupérer les données qui s'y trouvent : utilisateur et mail
$array_username = array() ;
$array_mail = array() ;
$handle = fopen($tmp_name, "r");
$row = 0;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$array_username[$row] = $data[0];
$array_mail[$row] = $data[1];
$row++;
}
fclose($handle);
unlink($tmp_name);
// je vais chercher dans ma base de donnée tout ce dont j'ai besoin pour la suite
$result = mysql_query("SELECT ref_name, email, id FROM users") or die('Impossible to connect'] . mysql_error());;
$row = 0;
while ($donnees = mysql_fetch_array($result) )
{
$row ++;
$array_forum [$row] = $donnees['ref_name'];
$array_forum_mail [$row] = $donnees ['email'];
$array_forum_id [$row] = $donnees ['id'];
}
mysql_free_result($result);
// Ensuite je voudrais comparer ma base avec le fichier csv, en me basant sur le champs [ref_name] maintenant dans $array_forum
$removed_members = array_diff ($array_forum, $array_username) ; // Ca c'est le tableau contenant les utilisateurs à supprimer
foreach($removed_members as &$value) // on va parcourir ce tableau
{
$username = $value;
$email = // Comment je m'y retrouve maintenant ???
}
en haut à gauche de ce sujet.