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 :

[Tableaux] Recupérer une chaine à partir d'un certain Rang


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Tableaux] Recupérer une chaine à partir d'un certain Rang
    Bonjour,
    pour le sujet de mon stage je dois récupérer la fin d'une chaine.
    j'avais fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $new_result = substr($result,11,strlen($result ));
    il s'agit en fait d'une chaine de type :
    17.4.3.1.1.0.31.91.233.220.142

    ou je dois récupérer cette partie :

    0.31.91.233.220.142

    pour apres la rechercher dans :

    17.4.3.1.2.0.31.91.233.220.142

    Donc j'avais penser à supprimer le début a partir du 11e caractere puis rajouter un prefixe...

    mais le probleme c'est que il s'agit d'une adresse de MIB( en réseau), donc ce script fonctionne parfaitement chez moi mais sur un autre pc ,
    17.4.3.1.1.0.31.91.233.220.142
    s'affiche en fait comme ceci
    iso.4.3.1.1.0.31.91.233.220.142
    donc le 11e caractere n'est plus le meme ,

    c'est pourquoi je voudrais selectionner les 6 derniers champs puis rechercher dans le 2e tableau une chaine se finissant par la meme partie.

    voila la partie de code qui correspond a ce que je fais actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //recherche dans le tableau 1
    $result = array_search($hex, $array1);
     
    // on retire les 11 premiers caractères de la chaine
    $new_result = substr($result,11,strlen($result )); 
    // on y ajoute un autre prefixe
    $bridge = substr_replace($new_result, '17.4.3.1.2.', 0, 0) ;
    //recherche du n° de bridge dans le tableau 2
    $result_bridge = $array2[$bridge];
    merci beaucoup pour votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Salut !

    Si tes adresses ont le même format tu peux essayer autre chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $tabresult = explode('.',$result);
    for($i=11;$i<count($tabresult);$i++)
      $new_result .= $tabresult[$i].'.';
     
    $new_result = substr($new_result,0,-1);
    explode crée un tableau avec les valeur entre les points "." :
    après tu peux manipuler toute les valeur comme tu le veux
    Ton tableau aura comme valeur : array(17,4,3,1,1,0,31,91,233,220,142)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    oui en fait pour la premiere etape j'ai fait comme cela :

    //recherche dans le tableau 1
    $result = array_search($hex, $array1);
    //On garde les 6 derniers champs
    $ary_orig = explode('.', $result);
    $ary_dest = array_slice($ary_orig, -6);
    $str_dest = join('.', $ary_dest);


    maintenant pour rechercher cette chaine dans le deuxieme tableau ?
    je sais que pour préciser la fin d'une chaine c'est '$' mais si je recherche '$bridge$' (se finissant par la variabble bridge cela ne veut pas marché. En recherchant directement de cette maniere cela m'éviterait d'avoir a remplacer le début de la chaine qui change selon les pc et donc éviter les errreurs.

    merci beaucoup

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/11/2007, 22h23
  2. Extraction d'une chaine à partir d'une photo
    Par Julaie95 dans le forum Traitement d'images
    Réponses: 31
    Dernier message: 23/05/2006, 15h44
  3. [Tableaux] Décomposer une chaine de caratères
    Par bianconeri dans le forum Langage
    Réponses: 8
    Dernier message: 06/03/2006, 15h43
  4. Creation d'une chaine à partir d'un tuple
    Par Bayard dans le forum Général Python
    Réponses: 2
    Dernier message: 19/01/2006, 11h25
  5. [Tableaux] decouper une chaine de caractères
    Par pekka77 dans le forum Langage
    Réponses: 12
    Dernier message: 03/12/2005, 19h08

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