Rechercher une variable dans un tableau
marine42
-
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
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
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:
- Rechercher une variable dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Tableau ascii - Guide
- Rechercher ou saisir une url - Guide
2 réponses
Salut, essaye ça :
Tiens moi au courant,
Adrien.
if(in_array ($tableau[$i], substr($nomFichier, 0, strpos($nomFichier, "."))) ... etc.
Tiens moi au courant,
Adrien.
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 ...
C'est bon, j'ai résolu mon problème en modifiant mon script:
$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 !!
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 !!