IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Array_search() sans résultat


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut Array_search() sans résultat
    bonjour à tous... je fais une recherche dans un tableau avec la fonction array_search()
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $array_template = explode("\n", $tableau);
    $tag_start = intval(array_search("<!-- BEGIN " . $type . " -->", $array_template)) + 1;
    $tag_end = intval(array_search("<!-- END " . $type . " -->", $array_template)) - 1;
    $tag_lenght = $tag_end - $tag_start + 1;
    Le contenu du $array_template :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    [0] => <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    [1] => <html xmlns="http://www.w3.org/1999/xhtml">
    [2] => <head>
    [3] => <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    [4] => <title>Document sans nom</title>
    [5] => </head>
    [6] => <body>
    [7] => <p>ha ha ha ça marche... enfin... on va bien voir !</p>
    [8] => <p>test pour la classe template</p>
    [9] => <!-- BEGIN liste -->
    [10] =>   <ul>
    [11] =>     <li>{nom}</li>
    [12] =>     <li>{prenom}</li>
    [13] =>   </ul>
    [14] => <!-- END liste -->
    [17] => </body>
    [18] => </html>
    Et bien mes variables retournent $tag_start->1 | $tag_end->-1 | $tag_lenght->-1 ce qui veut dire que la recherche ne se fait pas... je n'ai aucune erreur... si des fois vous avez une idée lumineuse, je suis preneur

  2. #2
    Membre régulier Avatar de BGDC
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 102
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    Juste une petite question comme ça, $type contient bien liste ?

  3. #3
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    oui tout a fait !!

  4. #4
    Membre régulier Avatar de BGDC
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 102
    Points : 121
    Points
    121
    Par défaut
    Le contenu que tu montres, c'est plutot $array_template que $tableau non ?

  5. #5
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    Citation Envoyé par BGDC Voir le message
    Le contenu que tu montres, c'est plutot $array_template que $tableau non ?
    tout a fait, c'est corrigé dans le texte !!!

  6. #6
    Membre régulier Avatar de BGDC
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 102
    Points : 121
    Points
    121
    Par défaut
    et si tu essayais juste pour voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tag_start = array_search("<!-- BEGIN liste -->", $array_template);
    Ca donne quoi ?

  7. #7
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    => pas mieux ! (pas d'erreur, pas de log)

  8. #8
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    ha oui petite précision, mon tableau est à la base un fichier template... comme vous devez vous en douter... je le lis via file_get_contents()

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 83
    Points : 100
    Points
    100
    Par défaut oups
    Si tu lis via file_get_contents, la valeur de retour est une chaîne contenant tout le fichier, pas un tableau, donc normal que cela ne marche pas,

    il ya aura conversion implicite vers un tableau
    ce qui donne array(0=>contenu fichier)

    Tu peux plutôt réaliser la recherche avec une focntion de chaine, genre strpos par exemple ...

    @+

    Xavier

  10. #10
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    Oui mais en même temps dans mon code
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $array_template = explode("\n", $tableau);
    je convertis le contenu du fichier en tableau.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 83
    Points : 100
    Points
    100
    Par défaut oui, en effet
    J'ai pu lu le code, je faisais juste confance au fil de conversation, je m'y colle ...

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 83
    Points : 100
    Points
    100
    Par défaut tester les fondamentaux
    Ton code parait effectivement correct.

    Je prendrais au pifometre

    en 1

    les types de retour chariot ne sont pas les bons, je vérifierais le contenu de $array_template

    en 2

    $type n'as pas la valeur attendue donc il n'y a pas de résultat

    en 3

    le passerais ttrue en troisieme parametre de array_search car
    une conversion implicite méchante et cachée que mes yeux fatigués ne détecte pas a lieu quelque part

  13. #13
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    Citation Envoyé par vexa Voir le message
    les types de retour chariot ne sont pas les bons, je vérifierais le contenu de $array_template
    j'opterais pour cette dernière... mais je ne sais pas comment tester ou vérifier ça !

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 83
    Points : 100
    Points
    100
    Par défaut utiliser un autre éditeur
    dans la plupart des éditeurs dans les préférences on peut configurer les retours chariots et leur affichage, sinon notepad++ le fait très bien, c'est le menu format.

    D'où se pose la question, est-ce qu'il existe une certitude que les retours chariots soient toujours \n pour les données reçues qui seront traitées par ce code ?

  15. #15
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    test fait... changement de format d'ecriture... ça marche pas !

    Enfin c'est pire... avec un fichier plus simple ça marche...
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    </head>
    <body>
    <p>ha ha ha ça marche... enfin... on va bien voir !</p>
    <p>{titre}</p>
    <!-- BEGIN liste -->
      <ul>
        <li>{nom}</li>
        <li>{prenom}</li>
      </ul>
    <!-- END liste -->
     
    <!-- BEGIN bloc_a_supp -->
      <H1>RTFM</H1>
    <!-- END bloc_a_supp -->
    </body>
    </html>
    L'encodage est en UTF8 (sans BOM) et les sauts de lignes sont en Unix (LF).
    Mon second code a le même encodage et le même typde de saut de ligne.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    <link href="what-v2.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr id="top">
        <td id="logo" class="top"></td>
        <td class="top fluide"></td>
        <td id="col_centre" class="top"></td>
        <td align="right" valign="middle" class="top fluide">&nbsp;</td>
      </tr>
      <tr>
        <td class="colonne_gauche menu_actif"><div>Gestionnaire des commandes</div></td>
        <td rowspan="7">&nbsp;</td>
        <td rowspan="7" valign="top">
        <!-- BEGIN commande -->
          <div class="barre impaire">
            <div class="top"> </div>
            <div class="middle">
              <ul>
                <li class="picto"><img src="todo_v2/type/map.png" alt="" width="16" height="16" align="absmiddle" /></li>
                <li class="date">{date_echeance}</li>
                <li class="qui">{qui}</li>
                <li class="quoi"><img src="todo_v2/flag_red.png" alt="ajouté le" title="ajouté le" width="16" height="16" align="absmiddle" /> {titre_commande}</li>
                <li class="action"><a href="#"><img src="todo_v2/picto_encours.png" alt="" width="15" height="17" align="absmiddle" /></a> <a href="#"><img src="todo_v2/picto_ok.png" alt="" width="20" height="17" align="absmiddle" /></a> <a href="#"><img src="todo_v2/picto_voir.png" alt="" width="18" height="17" align="absmiddle" /></a> <a href="#"><img src="todo_v2/picto_supp.png" alt="" width="14" height="17" align="absmiddle" /></a></li>
              </ul>
              <br clear="all" />
            </div>
            <div class="encart" style="display:none">
              <div class="encart_top"> </div>
              <div class="encart_middle">
                <p class="info"><img src="todo_v2/time.png" alt="ajouté le" title="ajouté le" width="16" height="16" align="absmiddle" /> le 15/10/2010 à 14h50.  &nbsp;&nbsp;<img src="todo_v2/edit.png" alt="modifié le" title="ajouté le" width="16" height="16" align="absmiddle" /> </p>
                <p class="description">{description}</p>
              </div>
              <div class="encart_bottom"> </div>
            </div>
            <div class="bottom"> </div>
          </div>
          <!-- END commande -->
          </td>
        <td rowspan="7"><p>&nbsp;</p></td>
      </tr>
      <tr>
        <td class="colonne_gauche"><a href="#">Ajouter une commande</a></td>
      </tr>
      <tr>
        <td class="colonne_gauche"><a href="#">Gestion des noms</a></td>
      </tr>
      <tr>
        <td class="colonne_gauche"><a href="#">Gestion des types</a></td>
      </tr>
      <tr>
        <td class="colonne_gauche"><a href="#">Statistiques</a></td>
      </tr>
      <tr>
        <td class="colonne_gauche_bas">&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>

Discussions similaires

  1. [MySQL] Requête SUBSTRING et CHAR_LENGTH sans résultat
    Par Anduriel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/08/2006, 12h50
  2. RecordSource avec une requête sans résultat
    Par temar dans le forum Access
    Réponses: 4
    Dernier message: 23/05/2006, 18h13
  3. [Débutant] glConvolutionfilter2d sans résultat
    Par YéTeeh dans le forum OpenGL
    Réponses: 2
    Dernier message: 15/05/2006, 17h52
  4. Requête MySQL sans résultat...
    Par x86-master dans le forum Installation
    Réponses: 13
    Dernier message: 10/12/2005, 14h19
  5. Script Java appelé dans Xsl sans résultats
    Par metallic dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 03/08/2005, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo