私はPHP/MySQLのアプリに取り組んでいると私はこのようになります非常に単純なテーブルを持っている:条件に基づいて配列を分割する方法は?
id | name | came_with
1 John null
2 Jane 1
3 Dean null
それは約50の記録を持っていますが、主なアイデアは、それがイベントに登録人々を保存するということです彼らがゲストを持って来ても、came_with
フィールドに招待された人のid
と一緒に保存されていて、とてもシンプルです。
これらの名前をシャッフルして、X個のグループに分割する必要があります。これは各グループ内の人数に基づいており、各レコードを配列に格納できるので非常に簡単です。shuffle
を使用して順序をランダム化します人の数に応じてより小さな配列を生成するためにarray_chunk
を使用します。
問題は、同じグループに集まった人を持つことができないということです。この例では、JohnとJaneは同じグループに参加することはできませんが、もう2人で選択肢がないので2つのグループを生成することを選択した場合、同じグループに配置されます。私はこのことをやろうとするためには論理が失われています。私は正確なコードを求めるのではなく、それを達成するためのアイデアを求めています。
ありがとうございます!