В моем маленьком возрасте с WordPress я видел сам WordPress, и его дружественные плагины используют PHP serialize()
для хранения данных в БД во многих случаях. Но в недавнем поиске я нашел серьезную поддержку сообщества для json_encode()
более serialize()
.
- Тест, который оказывается
json_encode()
лучше, чемserialize()
- StackOverflow - Причины, почему
json_encode()
можно использовать, а почему нет - StackOverflow
И я лично проверил ассоциативный массив с обоими из них, который показывает:
serialize()
хранит 342 символаjson_encode()
хранит 285 символов
Почему я спрашиваю это?
Я нахожусь в проекте, в то время как я собираюсь сохранить повторяющиеся мета-поля в сообщение. Где:
- Данные будут в основном на английском языке, но иногда могут быть бенгальскими
- Данные будут ассоциативным массивом глубиной 3 уровня (надеюсь, я правильно понял уровни ):
array(
1 => array(
'key'=>'value',
'key2'=>'value'
),
2 => array(
'key'=>'value',
'key2'=>'value'
)
)
Я проверил поле postmeta
таблицы, meta_value
это longtext
, что означает длину 4 294 967 295 символов (4 ГБ).
Поэтому мне нужно надежное решение для хранения вещей.