PHP json_decode commence par 0

tgilbert Messages postés 7 Statut Membre -  
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour,

Quand je décode cette chaine il m'enlève les 0 de devant.

$var = "0610101010";
ex: $result = json_decode($var);

echo $result ;
=> 610101010

Comment on fait pour garder les 0 ?
Configuration: Linux
Firefox 3.0.14

5 réponses

  1. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    Si je ne m'abuse, il faudrait que ton entrée soit formatée différemment :

    <?php
    $var = '"0610101010"';
    $result = json_decode($var);

    var_dump($result) ; // ==> string(10) "0610101010"

    ?>
    0
  2. tgilbert Messages postés 7 Statut Membre
     
    C 'est pas tout à fait comme ça.

    Le code il se présente :

    $param contient tout les éléments Get

    La fonction permet de construire l'url

    function implode_assoc($param) {
    $res = '';
    $amp = '';
    if (sizeof($param)>1) {
    $amp = '&';
    }

    foreach ($param as $key => $val) {

    $decoded = json_decode($val);
    if (isset($decoded)) {
    $res .= $amp . $key . '=' .$decoded ;
    } else {
    $res .= $amp . $key . '=' .$val;
    }
    }
    return $res;
    }

    si tu as une idée ....

    je sèche un peu, j 'ai essayé d'utiliser utf8_encode mais ca ne change rien.
    0
  3. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    $param contient tout les éléments Get

    Comment ça, des paramètres que tu reçois via une URL grace à la méthode GET ??

    j 'ai essayé d'utiliser utf8_encode

    Pourquoi ? t'as un encodage particulier ?

    Expliques un peu plus le contexte STP et pourquoi tu veux utiliser du json_decode ?
    0
  4. tgilbert Messages postés 7 Statut Membre
     
    C'est parce que j 'ai des paramètres qui sont encodés avec des caractères spéciaux .

    Je reconstruis l'url avec des nouveaux paramètres pour rediriger la page.

    C' est un code existant, quand j 'ai voulu faire passer en paramètre le numéro de tél, je me suis rendu compte qu'il manquait le 0 devant.

    J'ai cherché d'ou ca pouvait venir et je me suis rendu compte que le json_decode me faisait disparaitre les 0 de devant.

    Je crois que je vais essayer d'encoder le tel en htmlentities, on verra bien.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    en htmlentities ça ne changera pas ton problème à mon avis car la il n'est nullement le cas d'entitées...

    Ce qu'il faudrait voir c'est le code de la page qui t'envoies ces infos, comment sont encodées les informations ?

    Sinon y a la méthode crados qui consiste a faire un test dans ta fonction pour savoir si la clé du tableau dans le foreach c'est "tel" mais ca pue grave....
    0