another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Как хранить массивы в базе данных?

Есть PHP скрипт. Генерируется массив. Каким образом можно хранить его в базе данных(MySQL) дабы при обращении было легко им манипулировать? И что, если массив состоит из других массивов? Хотелось бы увидеть небольшие примеры кода, или в крайнем случае, ссылки, что можно использовать. Спасибо.

Пример массива:
Array
(
    [grounds] => Array
        (
            [1] => Array
                (
                    [date] => 2014-05-28
                    [timeStart] => 8:45
                    [timeEnd] => 9:45
                    [groundId] => 1
                    [price] => 1500
                )

            [2] => Array
                (
                    [date] => 2014-06-4
                    [timeStart] => 8:45
                    [timeEnd] => 9:45
                    [groundId] => 2
                    [price] => 1800
                )

        )

    [count] => 2
    [summ] => 3300
)
  • Вопрос задан
  • 35382 просмотра
Решения вопроса 2
1. serialize/unserialize (для хранения в БД самое то)
2. JSON (если нужен обмен через AJAX без преобразований)
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@cmx
Сериализации я бы предпочел JSON. Время обработки у них примерно одинаковое, а вот место JSON-массивы занимают меньше на 30-40%.

А вообще, хранить массивы в БД - крайне не благодарное дело. Если это можно хоть как-то обойти - лучше сделайте это, иначе это потом выйдет дорогой ценой рефакторинга и оптимизации БД.
Ответ написан
IgorO2
@IgorO2
73
Ну чтобы удобно было манипулировать, то необходимо данный массив разобрать и записать в БД.
Ответ написан
Комментировать
KOLANICH
@KOLANICH
Знаю JS, PHP, C++, C#
по строке на элемент
а вообще, вам нужно посмотреть в сторону документо-ориентированных, в частности в сторону mongo
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы