W moim młodym wieku z WordPress widziałem, że sam WordPress i jego przyjazne wtyczki używają PHP serialize()
do przechowywania danych w db w wielu przypadkach. Ale podczas ostatnich poszukiwań znalazłem poważne wsparcie społeczności dla json_encode()
ponad serialize()
.
- Sprawdzony test
json_encode()
jest lepszy niżserialize()
- StackOverflow - Powody, dla
json_encode()
których można użyć, a dlaczego nie - StackOverflow
Osobiście przetestowałem tablicę asocjacyjną z nimi obojga, która pokazuje:
serialize()
przechowuje 342 znakijson_encode()
przechowuje 285 znaków
Dlaczego o to pytam?
Pracuję nad projektem, gdy zamierzam przechowywać powtarzające się pola meta w poście. Gdzie:
- Dane byłyby w zasadzie w języku angielskim, ale czasami mogą być bengalskie
- Dane byłyby tablicą asocjacyjną, głębokość 3 poziomów (mam nadzieję, że poprawnie zrozumiałem poziomy ):
array(
1 => array(
'key'=>'value',
'key2'=>'value'
),
2 => array(
'key'=>'value',
'key2'=>'value'
)
)
Sprawdziłem pole postmeta
tabeli, meta_value
to jest longtext
, co oznacza długość 4 294 967 295 znaków (4 GB).
Potrzebuję więc solidnego rozwiązania do przechowywania rzeczy.