Rechercher une variable dans un tableau

Fermé
marine42 - 5 mai 2010 à 08:41
 Marine42 - 6 mai 2010 à 15:02
Bonjour,

J'ai un petit souci lors du développement de mon application.
Je souhaite faire une recherche dans un tableau qui contient les noms de fichier présents dans un dossier: jusque là, pas de probleme...
Mais ce que je veux faire, c'est rechercher dans ce tableau si des valeurs présents dans un second tableau existe.
Pour ce faire, j'utilise la fonction php in_array.
Le problème, c'est que dans le tableau où il y a les noms de fichier(ce sont des photos, chaque tuple contient l'extension du fichier (.jpg , .bmp ,...). Or ma recherche porte sur des noms de personnes.

Voici une partie de mon script

 

while ($tableau[$i] != "")
{
//$tableau contient les noms 
 if ($tableau[$i+1] != $tableau[$i])
 {
   do
   {
       //$nomfichier est le tableau contenant les noms des photos
       if(in_array ($tableau[$i],$nomFichier))
       {
         echo "Trouvé !";
       }
       else 	
       {
	  echo "Pas trouvé...";
       }	
       $j++; 
    }while ($nomFichier[$j] != "");
  }
  $i++;
}
 


Apres avoir fait des tests,ce script fonctionne bien. Mais seulement si ma recherche est vraiment identique ( par exemple testNom.jpg est un nom de photo et est également un nom de personne)
Mais moi , j'ai par exemple :
dans $tableau , j'ai un enregistrement Nom1
dans $nomFichier, j'ai une photo Nom1.jpg
je voudrais que mon script assimile le fait que Nom1.jpg soit "identique" à nom1.
Le but est d'affecter une photo à une personne

Si quelqu'un a une petite idée...

Merci

2 réponses

adgem0 Messages postés 119 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 mai 2010 156
6 mai 2010 à 14:48
Salut, essaye ça :
if(in_array ($tableau[$i], substr($nomFichier, 0, strpos($nomFichier, "."))) ... etc.


Tiens moi au courant,
Adrien.
0
adgem0 Messages postés 119 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 mai 2010 156
6 mai 2010 à 14:50
Le seul truc, c'est qu'il ne faut pas qu'il y ait de point dans le nom du fichier si ce n'est bien sûr le point de l'extension ! Évidemment ...
0
C'est bon, j'ai résolu mon problème en modifiant mon script:
if (in_array(str_replace("\"", '', $tableau[$i]).".jpg",$nomFichier))
{
     //si oui, alors on affecte la photo au candidat
     $photo = str_replace("\"", '', $tableau[$i]).".jpg";
 }
 else
 {
       //sinon, on met une photo par défaut
        $photo= "sans-photo.jpg";
 }

$nomFichier étant le tableau de tous les noms de fichiers présents dans un dossier et $tableau[$i] étant le nom d'une personne(qui contient des guillemets d'où le str_replace ^^

Merci quand même adgem0 !!
0