elephant

Serialiser un tableau

Comment convertir un tableau en chaine de caractères

tableau php en chaine, php serialiser tableau, serialisation tableau php, php transformer tableau en chaine, php convertir tableau en chaine, implode en php, serialiser un tableau en php, transformer en tableau php, convertir une chaine en tableau, convertir tableau en string php, convertir array en string php, un tableau php, tableau serialise, convertir chaine de caractere en tableau php, transformer tableau en chaine de caractere php

Date de publication : 2009-01-27

PHP dispose de plusieurs fonctions permettant de transformer un tableau en chaine de caractère :

La fonction serialize

Avec un Z comme Zorro, cette fonction permet de linéariser une variable peu importe son type (objet, tableau, chaine, entier, liste ...). Pour faire l'inverse il faut utiliser la fonction unserialize.

Un exemple de serialisation de tableau en php


<?php
$tableau = array('clé 1'=>'valeur 1','clé 2'=>'valeur 2','clé 3'=>'valeur 3');
var_dump(serialize($tableau));
?>

Retourne la chaine de caractère suivante :


a:3:{s:6:"clé 1";s:8:"valeur 1";s:6:"clé 2";s:8:"valeur 2";s:6:"clé 3";s:8:"valeur 3";}

La fonction implode

La fonction implode permet de transformer un tableau en chaine en "collant" un séparateur entre les éléments du tableau. Pour faire l'inverse de implode il faut utiliser la fonction explode avec le même séparateur.

Un exemple de linéarisation avec implode


<?php
$tableau = array('clé 1'=>'valeur 1','clé 2'=>'valeur 2','clé 3'=>'valeur 3');
var_dump(implode(',',$tableau));
?>

Retourne une chaine de caractères de la forme :


"valeur 1,valeur 2,valeur 3"

Vous remarquerez que contrairement à la fonction serialize implode ne permet pas de conserver les clés du tableau.

La fonction json_encode

La fonction json_encode permet de convertir une variable en json. Javascript supportant la notation json, cette fonction est souvent utilisée pour faire des échanges de données entre javascript et php. L'inverse de json_encode et bien entendu la fonction json_decode.

Une exemple de transformation de tableau en chaine de caractères utilisant json_encode


<?php
$tableau = array('clé 1'=>'valeur 1','clé 2'=>'valeur 2','clé 3'=>'valeur 3');
var_dump(json_encode($tableau));
?>

Affiche la chaine suivante :


{"cl\u00e9 1":"valeur 1","cl\u00e9 2":"valeur 2","cl\u00e9 3":"valeur 3"}

 
 

b1n@sp1n