Put it this way: If you have the urge to store something as an array in a database field, then you have a table design problem. You're also defeating the entire purpose of using a database.
If and when you have the urge to use an array, it means you need another table.
In this case, you have people and you have groups. Multiple people can belong to multiple groups (from the way you described it). I'd recommend something like this:
Table 1: People
PeopleID (unique - auto increment would be good)
First Name
Last Name
Email
[people specific fields will go here]
Table 2: Groups
GroupID (unique - auto increment would be good)
Group Name
[group specific fields go here]
Table 3: PeopleGroups
PeopleID
GroupID
This 3rd table is where the magic happens. It links the people to the groups they belong to. If one person belongs to 5 groups, then there will be 5 rows in the PeopleGroups table where the PeopleID is the same, and there is 5 unique GroupIDs. Using inner and outer joins will allow you to associate and query this data very easily.