Rechercher : dans
Par :

PHP json_decode commence par 0

Dernière réponse le 19 oct 2009 à 18:28:43 tgilbert, le 19 oct 2009 à 17:04:24 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « PHP json_decode commence par 0 » dans :
Comment enlever la version de PHP : X-Powered-By: PHP/4.1.0 ? Voir Par défaut, PHP est configure pour envoyer un en-tête HTTP appelé X-Powered-By, donnant la version de PHP utilisée. Pour supprimer cet en-tête, il suffit de modifier l'option expose_php dans le fichier php.ini de la manière suivante : expose_php...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...

1

Zep3k!GnO, le 19 oct 2009 à 17:18:35

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"

?>

Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

2

tgilbert, le 19 oct 2009 à 17:42:31

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.

Répondre à tgilbert

3

Zep3k!GnO, le 19 oct 2009 à 17:49:45

$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 ?

Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

4

tgilbert, le 19 oct 2009 à 17:59:18

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.

Répondre à tgilbert

5

 Zep3k!GnO, le 19 oct 2009 à 18:28:43

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....

Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO
Collection CommentÇaMarche.net