私はPHP/MySQLアプリに取り組んでおり、次のような非常に単純なテーブルがあります。
id | name | came_with
1 John null
2 Jane 1
3 Dean null
約50件のレコードがありますが、主なアイデアは、イベントに登録した人を保存することです。ゲストを連れてくると、フィールドにid
招待した人の名前も保存されるので、非常に簡単です。came_with
これらの名前をシャッフルし、各グループに必要な人数に基づいてX個のグループに分割する必要があります。これは、各レコードを配列に格納しshuffle
、順序をランダム化するために使用array_chunk
し、生成するために使用できるため、非常に簡単です。人の数に応じて小さな配列。
問題は、同じグループに集まった人を入れることができないことです。したがって、この例では、ジョンとジェーンを同じグループに入れることはできません。ただし、さらに2人で来た人は、選択の余地がないため、2つのグループを生成することを選択した場合は同じグループ。私はこれを実行しようとするロジックがどうあるべきかについて非常に迷っています。正確なコードではなく、それを実現するためのアイデアを求めています。
前もって感謝します!