Задать вопрос
@Vlad_isLove

Можно ли получить внутреннее значение PHP массива сохраненного в MySQL с помощью serialize() не доставая весь массив?

У меня есть множество многомерных PHP массивов, каждый из которых содержит в себе примерно 200 элементов массива. Я сохраняю эти массивы в Базу Данных с помощью serialize(). Но вот проблема, если мне нужно достать только значение одного элемента массива, то мне приходится загружать из БД весь массив и делать unserialize(массив) со всеми 200 элементами и получать из них тот единственный элемент, что нужен. Вопрос: Можно ли как-то получить нужный элемент из массива не доставая весь массив из БД?
  • Вопрос задан
  • 100 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@grinat
Это кастомный php формат, если только писать хитрую регулярку либо функцию, которая будет принимать строку и разбирать ее, вопрос в том как бд с этим справится, подозреваю что быстрее будет гонять данные, нежели заставлять бд этим заниматься.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
index0h
@index0h
PHP, Golang. https://github.com/index0h
Вопрос из серии: стреляю себе в ногу, больно, как стрелять себе в ногу, но что бы не больно?

Нормализируйте БД и не пользуйтесь serialize для вставки. Вот эти 200 элементов мне почему-то так кажется, отлично бы лежали в отдельных строках отдельной таблицы.
Ответ написан
Комментировать
serginhold
@serginhold
В последний версиях mysql появилась возможность работать с json, вот и храни данные в json
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы