Recherche dans Tableau php

Fermé
smidodi - 17 déc. 2010 à 10:25
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 17 déc. 2010 à 13:52
Bonjour, svp jai besoin d'aide en php
jai converti un fichiee txt en tableau indexé , et quand j'utilise la fontion array_serach elle ne me retourne rien , j'ai fait plusieurs tests avec des valeurs existantes dans le tableau.
Merci
A voir également:

4 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
17 déc. 2010 à 11:52
(Pour plus de lisibilité, je colle la réponse ici plutôt que dans les commentaires)

Ton fichier, tu le récupères en utilisant la fonction file(), non ?
Or cette fonction, par défaut, laisse les retours à la ligne dans les éléments du tableau de sortie.
Si tu regardes le code source de ta page avec le code que tu me montres, tu devrais voir ces retours à la ligne qui empêchent array_search de trouver les correspondances.

Pour corriger le problème, utilise file avec l'argument suivant :
$tableau = file($fichier, FILE_IGNORE_NEW_LINES);
(cf doc : https://www.php.net/manual/fr/function.file.php )

Xavier
1
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
17 déc. 2010 à 10:59
Bonjour,

Peux-tu nous donner ton code utilisant la fonction array_search ?

Xavier
0
le voila:


$clef_a_retourner = array_search('valeur_a_rechercher', $montableau);

echo $clef_a_retourner ;
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
17 déc. 2010 à 11:25
OK.
Essaie de mettre un var_dump($montableau) pour voir exactement ce que contient ton tableau.
0
jai deja fait le code ci dessous pour afficher le tableau , et chaque colonne contient une ligne du fichier




foreach($tabl as $cle => $element)

{
$clee=$cle+1;
echo "[ ligne $clee ] ===============> $element<br />";
}
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 17/12/2010 à 11:43
Ah, tiens, je crois que je comprends.
Ton fichier, tu le récupères en utilisant la fonction file(), non ?
Or cette fonction, par défaut, laisse les retours à la ligne dans les éléments du tableau de sortie.
Si tu regardes le code source de ta page avec le code que tu me montres, tu devrais voir ces retours à la ligne qui empêchent array_search de trouver les correspondances.

Pour corriger le problème, utilise file avec l'argument suivant :
$tableau = file($fichier, FILE_IGNORE_NEW_LINES);
(cf doc : https://www.php.net/manual/fr/function.file.php )

Xavier
0
ouép , ca marche, merci xav
0
ca fé lgtps k tu code en php??
0
jai just une petit question stp? je veux faire une interface web pour gerer un svn ; en gros je dois manupuler le fichier de config qui ressemble a ceci :

[groups]
nom_groupe=user1,user2,.....
[path_du_repository]
groupe dans ce rypo
..............................

quesque tu me conseille ?
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
17 déc. 2010 à 13:52
Mmmmh, de deux choses l'une.

Soit tu ne connais pas à l'avance les différents éléments que tu peux trouver dans le fichier de config, dans ce cas-là je pense que tu devrais réécrire le contenu du fichier dans un tableau associatif, du genre :
$config["groups"]["nom_du_groupe"] = "user1, user2...";

Soit tu connais les différents éléments possibles, et tu te crées un objet SVNConfig dans lequel tu pourras stocker ces éléments :
class SVNConfig
{
var $groups = array()...;
var $path = array()...;
}

Xavier
0