Bonjour,
en php j'ai l'impression que deux fonctions font la meme chose (serialize et implode). quand choisir l'un ou l'autre

2 réponses


Hello,

Les 2 fonctions ne font pas du tout la même chose.

Implode te permet de générer une chaîne de caractères à partir d'un tableau avec un séparateur.
Exemple, tu as un tableau de nom, et tu veux les afficher séparés par des virgules. Tu as juste à faire

$monTableau = ["Jean", "Jacques", "Michel", "Arnaud"];
echo implode($monTableau, ", ");
//Ce qui va donner : Jean, Jacques, Michel, Arnaud

Serialize quant à lui retourne un tableau en chaîne de caractère pour le stocker en base de données par exemple, ou le transmettre d'une page à une autre.
Si tu serialize $monTableau de l'exemple précédent, tu obtiendras :

a:4:{i:0;s:4:"Jean";i:1;s:7:"Jacques";i:2;s:6:"Michel";i:3;s:6:"Arnaud";}

La serialization contient les infos du tableau.
a:4 veut dire array à 4 entrées
i:0 integer qui vaut 0 (donc la clé du tableau 0)
s:4 string de longueur 4 qui à pour valeur "Jean"
etc etc ...

Serialize n'a pas pour vocation à être affiché sur ton site / application. Il servira uniquement au fonctionnement interne à ton outil.
Implode lui, va probablement te servir beaucoup plus souvent !

J'espère avoir été clair dans mes explications !

gede09
Auteur

Merci pour ta reponse :)