Rechercher une variable dans un tableau

marine42 -  
 Marine42 -
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
A voir également:

2 réponses

adgem0 Messages postés 122 Statut Membre 161
 
Salut, essaye ça :
if(in_array ($tableau[$i], substr($nomFichier, 0, strpos($nomFichier, "."))) ... etc.


Tiens moi au courant,
Adrien.
0
adgem0 Messages postés 122 Statut Membre 161
 
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
Marine42
 
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