Dans mon petit âge avec WordPress, j'ai vu WordPress lui-même et ses plugins conviviaux utilisent PHP serialize()
pour stocker des données dans db dans de nombreux cas. Mais lors d'une récente recherche, j'ai trouvé un soutien communautaire sérieux pour les json_encode()
plus de serialize()
.
- Un test qui prouve
json_encode()
est meilleur queserialize()
- StackOverflow - Pourquoi
json_encode()
utiliser et pourquoi pas - StackOverflow
Et j'ai personnellement testé un tableau associatif avec les deux, qui montre:
serialize()
stocke 342 caractèresjson_encode()
stocke 285 caractères
Pourquoi je demande ça?
Je suis sur un projet pendant que je vais stocker des champs méta répétés dans un message. Où:
- Les données seraient essentiellement en anglais, mais peuvent parfois être en bengali
- Les données seraient un tableau associatif, 3 niveaux de profondeur (j'espère avoir bien compris les niveaux ):
array(
1 => array(
'key'=>'value',
'key2'=>'value'
),
2 => array(
'key'=>'value',
'key2'=>'value'
)
)
J'ai vérifié le champ de la postmeta
table, meta_value
c'est un longtext
, ce qui signifie une longueur de 4 294 967 295 caractères (4 Go).
J'ai donc besoin d'une solution robuste pour stocker les choses.