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 postmetatabeli, meta_valueto jest longtext, co oznacza długość 4 294 967 295 znaków (4 GB).
Potrzebuję więc solidnego rozwiązania do przechowywania rzeczy.