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 :

trim() -> Mais comment est-ce donc possible ?


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Par défaut trim() -> Mais comment est-ce donc possible ?
    Bonjour,
    ce n'est pas un soucis majeur, cependant j'aime comprendre

    Un beau jour, je décida d'enlever un truc devant, et derrière une chaîne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trim("iiiaii","entity_id");
    Il enlève les 'i'.
    Ça ne le fait qu'avec i. Normalement c'est une fonction qui enlève des chaines en début. Comment se fesses ?

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Quand tu souhaites comprendre quelque chose, surtout si cela concerne le comportement d'une fonction, classe, etc ..., c'est la doc de Php qu'il faut consulter.
    Pour la fonction -> trim()

    La doc dit que par défaut ça supprime des caractères (genre espace) en début et en fin d'une chaine.

    Mais si on renseigne en 2ème paramètre une liste de caractères, et bien cela va tenter de supprimer ces caractères en début et fin de la chaine s'il y en a.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trim("iiiaii","entity_id");
    La chaine iiiaii contient en début mais aussi à la fin des i faisant parti des caractères à supprimer.
    Il est donc normal que cela les supprimes.

    Si on changes un tout petit peu cette chaine par : iiiaiiz (en rajoutant un z à la fin).
    Et bien on remarque que cela supprime uniquement les i en début, mais pas à la fin.
    Normal car il n'y a plus de i à la fin mais un z.


    Par ailleurs, il faut comprendre qu'en 2ème paramètre c'est une liste de caractères à supprimer qu'on renseigne et non une chaine.
    Donc mettre "entity_id" qui contient 2 fois le caractère i et t est quelque part une erreur.
    Ceci suffit : enty_id


    Si ton but est supprimer la chaine (ou le mot) "entity_id" d'une chaine, alors utilise plutôt str_replace() par exemple.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Par défaut
    Merci chef, j'avais parcouru la doc, mais apparemment mal compris

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. « Mais qu'est-ce donc que HTML5 ? »
    Par Hinault Romaric dans le forum Balisage (X)HTML et validation W3C
    Réponses: 102
    Dernier message: 06/02/2014, 11h30
  2. Negociation, comment est ce possible?
    Par Jim_Nastiq dans le forum Paie
    Réponses: 11
    Dernier message: 31/07/2007, 16h03
  3. Mais qu'est ce que ça veut donc dire ?
    Par julien.63 dans le forum C
    Réponses: 5
    Dernier message: 30/05/2007, 14h14
  4. [Mail] mais où est donc la fonction mail ?
    Par dimitryous dans le forum Langage
    Réponses: 1
    Dernier message: 23/05/2007, 14h02
  5. Comment est-ce possible ?
    Par Jibees dans le forum C
    Réponses: 25
    Dernier message: 05/09/2006, 11h08

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