Существует два варианта хранения в виде массива:
Первое, что вы упомянули, - это создать одну или несколько таблиц и перечислить все возможные ключи, которые вы намереваетесь сохранить. Это лучший способ поиска и получения данных, которые имеют смысл.
Однако для того, что вы хотите сделать, используйте serialize()
. Примечание: НЕ НИКОГДА НИКОГДА не пытайтесь искать по этим данным в их исходной строковой форме. Гораздо быстрее (и разумнее) просто перезагрузить его, позвонить по номеру unserialize()
и затем выполнить поиск по вашим критериям, чем разработать какой-то сумасшедший шаблон поиска для выполнения ваших ставок.
РЕДАКТИРОВАТЬ: Если бы это был я, и это было то, что я серьезно разрабатывал для других, чтобы использовать (или, если честно, даже для себя), я бы, вероятно, создал бы вторую таблицу поиска, чтобы хранить все ключи как колонны; Черт, если бы вы сделали это, mysql_fetch_assoc()
мог бы дать вам нужный массив, просто выполнив быстрый второй запрос (или вы могли бы извлечь их с помощью JOIN
ed запроса). Однако, если это просто и быстро, чтобы выполнить любую работу, то сериализованный массив может быть для вас. Если вы действительно, действительно, не заботитесь о том, чтобы когда-либо искать эти данные, я думаю, что правильное отношение столбца к ключу будет превосходным.