Nella mia piccola età con WordPress, ho visto WordPress stesso e i suoi plugin amichevoli utilizzano PHP serialize()
per archiviare i dati in db in molti casi. Ma in una recente ricerca ho trovato un serio supporto da parte della community per gli json_encode()
over serialize()
.
- Un test che dimostra
json_encode()
è meglio diserialize()
- StackOverflow - Ragioni per cui
json_encode()
può essere utilizzato e perché no: StackOverflow
E ho testato personalmente un array associativo con entrambi, che mostra:
serialize()
immagazzina 342 caratterijson_encode()
memorizza 285 caratteri
Perché lo sto chiedendo?
Sono su un progetto mentre sto per memorizzare i metacampi ricorrenti in un post. Dove:
- I dati sarebbero sostanzialmente in inglese, ma a volte possono essere bengalesi
- I dati sarebbero array associativo, profondo 3 livelli (spero di aver compreso correttamente i livelli ):
array(
1 => array(
'key'=>'value',
'key2'=>'value'
),
2 => array(
'key'=>'value',
'key2'=>'value'
)
)
Ho controllato che il campo postmeta
della tabella meta_value
sia un longtext
, ciò significa una lunghezza di 4.294.967.295 caratteri (4 GB).
Quindi ho bisogno di una soluzione solida per conservare le cose.