Битовой маской: 1,2,4,8,16,32,64,.... сумма цифр - даст битовую маску нужного опциона.
Пусть есть массив: array(2,3,4) или array("мама","мыла","раму") - не важно!
Важно, что максимум у него 3 элемента.
Тогда делаем битовую маску для всех 3-х пунктов:
1+2+4=7 (что есть в бинарном виде: 111)
Т.е. если в поле БД будет 7, то мы знаем, что выбраны все 3 значения.
1+0+4=5 (что есть в бинарном виде: 101)
Т.е. если в поле БД будет 5, то мы знаем, что выбрано первое и последнее значение
и т.д.