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] Mettre un " dans un array()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 109
    Par défaut [Tableaux] Mettre un " dans un array()
    Bonjour,

    Je suis confronté à un problème tout con, mais que je n'arrive pas à résoudre .
    J'ai un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var = array(" truc ", " bidule ");
    Et je souhaite introduire le symbole " comme l'un des élément de cet array. J'ai donc essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var = array(" truc ", " bidule ", " \" ");
    mais cela ne marche pas. Et si je remplace les " " par des ' ' ça bug (au passage je me demande pourquoi :- ? ).

    Pourriez-vous me donnez un petit coup de pouce svp ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Par défaut
    bonjour,

    peut-être à cause de la directive magic quote dans la config de PHP. mais je n'ai jamais eu cette erreur donc ce n'est qu'une supposition...

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    magic_quote n'intervient que sur les variables GPCS pas au sein du script. Et comme on le répète assez souvent, détaillez "ça ne marche pas" : comportement attendu, comportement réel, messages d'erreurs, ...

    Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $var = array(" truc ", " bidule ", " \" ");
    echo '<pre>';
    print_r($var);
    echo '</pre>';
    foreach ($var as $k => $v) {
        echo "$k => -$v-<br/>";
    }
    ?>
    J'obtiens :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Array
    (
        [0] =>  truc 
        [1] =>  bidule 
        [2] =>  " 
    )
    
    0 => - truc -
    1 => - bidule -
    2 => - " -

    Note : c'est voulu les espaces ?


    Julp.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 109
    Par défaut
    Merci pour vos réponse .

    Avec ton code julp, j'obtiens moi aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Array
    (
        [0] =>  truc 
        [1] =>  bidule 
        [2] =>  " 
    )
     
    0 => - truc -
    1 => - bidule -
    2 => - " -
    Par contre si je vais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $var = 'Paris / "Hilton"';
        $bad_words = array(" / ", " \" ");
        $var = str_replace($bad_words, " ", "$var");
        echo $var;
    J'obtiens :
    Paris "Hilton"
    Cela ne fonctionne donc pas pour le remplacement du " (alors que cela fonctionne pour n'importe quel autre truc) .

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bad_words = array(" / ", " \" ");
    Avec des espaces devant et derrière c'est tout à fait normal que le remplacement ne soit pas effectué comme vous l'escomptiez. La chaîne de départ ($var) ne comprenant soit un espace avant (guillemet ouvrant) soit aucun (guillemet fermant).


    Julp.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 109
    Par défaut
    Ah oui effectivement, ça marche mieux comme ça. Par contre je suis contrait de faire deux fonctions non du coup ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $var = 'Star Paris / "Hilton"';
    $bad_words = array("Star", " / ");
    $var = str_replace($bad_words, " ", "$var");
    $var = str_replace("\"", "", "$var");
    $var = trim($var);
    echo $var;
    function resume_xmots($MaChaine,$xmots)  {  
    $ChaineTab=explode(" ",$MaChaine);  
    for($i=0;$i<$xmots;$i++) {  
    $NouvelleChaine.=" "."$ChaineTab[$i]";  
    }
    return $NouvelleChaine;  
    }
    $var = resume_xmots($var,3);
    $var = trim($var);
    Ca ne me parait pas très optimisé mais sinon je ne sais pas comment traiter ce problème d'espace (avec ma fonction qui retient 3 mots ça m'en coupe un comme ceci, c'est bizarre non ) ?

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 06/02/2008, 17h11
  2. [Tableaux] Mettre un tableau dans un champ caché
    Par -Neo- dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2007, 11h49
  3. [Tableaux] Gestion d'évènements dans un array
    Par Mat_DZ dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2007, 17h13
  4. [Tableaux] placement du pointeur dans un array??
    Par karlitos dans le forum Langage
    Réponses: 2
    Dernier message: 17/10/2006, 08h38
  5. [Tableaux] Problème PHP - Recherche dans un Array
    Par daniel_gre dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2006, 09h10

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