Recherche dans Tableau php

smidodi -  
Reivax962 Messages postés 3742 Statut Membre -
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

4 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    (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
  2. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

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

    Xavier
    0
  3. smidodi
     
    le voila:

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

    echo $clef_a_retourner ;
    0
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      OK.
      Essaie de mettre un var_dump($montableau) pour voir exactement ce que contient ton tableau.
      0
    2. smidodi
       
      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
    3. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      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
    4. smidodi
       
      ouép , ca marche, merci xav
      0
    5. smidodi
       
      ca fé lgtps k tu code en php??
      0
  4. smidodi
     
    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
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      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