我试图创建一个“秘密圣诞老人”类型的程序,以跟踪谁发送给谁。我有一个存储洗牌发送者和接收者ID的数据库,但是我遇到的问题是创建如何匹配下个月的发件人和接收者。它需要确保发件人不是连续两次发送给同一个人(或靠近在一起)。我有一个循环遍历4个数组,$ pastsenders,$ pastreceivers,$ currentsenders $ currentreceivers的想法,但我不知道如何比较这两个集合,看看是否有匹配,如果他们这样做,重新洗牌当前发送者和接收者。谁能帮忙?如何比较两组不同的阵列
0
A
回答
0
使用发件人的名称作为关键字,并使用接收者的名称作为值。
为了检查,你只需循环所有的键,看看在这个月份数组和下一个月份数组中是否有一个键值相同。如果是,那么你需要重新安排下个月的名单。
0
这是一个快速的解决方案。 秘密圣诞老人是一群人交换礼物的权利? 我的建议是将这个列表分成2个给予者和接收者。我知道技术上他们既是送货员又是接收者,但是他们的想法是有一个固定的列表,而另一个则被洗牌。
<?php
$givers = array("Person 1","Person 2","Person 3","Person 4","Person 5","Person 6") ;
$receivers = array("Person 7","Person 8","Person 9","Person 10","Person 11","Person 12");
$new_receivers = $receivers;
$repeated_values = $new_receivers;
while(sizeof($repeated_values) > 0)
{
shuffle($new_receivers);
$repeated_values = array_intersect_assoc($receivers, $new_receivers);
}
?>
所以,如果可以让自己清楚。名单中的一半,提供者总是保持不变。然后你加载另一半的列表/最后一个交换的礼物,匹配他们的阵列位置的数组。随机播放接收者列表,直到所有位置都改变并完成。 有道理吗?希望这可以帮助。
相关问题
- 1. PHP比较或搜索两个不同阵列的阵列
- 2. 比较C两个阵列++
- 3. 有效比较不同大小的两个阵列
- 4. 两个2D串阵列的比较具有不同尺寸
- 5. 小枝比较不同阵列中的两个值
- 6. 如何比较两行/多行的两个不同列
- 7. 如何比较SQL中两个不同表中的两列?
- 8. 比较两个不同的列表
- 9. 如何比较两个数组列表?
- 10. 比较两个阵列的问题
- 11. 阵列比较
- 12. 阵列比较
- 13. 比较阵列
- 14. 比较阵列
- 15. 如何使用php比较两个不同大小的数组?
- 16. 如何比较两个不同的多维数组?
- 17. 如何比较两个不同功能的数组?
- 18. 我们如何能在jQuery的比较阵列阵列阵列
- 19. 如何比较两个不同列中熊猫的值?
- 20. SQL - 如何比较不同行中的两列?
- 21. 如何在java中比较两个不同的列表对象?
- 22. 如何在android中比较两种不同类型的数组列表?
- 23. Excel - Max在比较两个阵列后
- 24. 比较两个阵列与array_diff
- 25. 浏览并比较两个阵列
- 26. SQL查询,比较两个阵列
- 27. 根据顺序比较两个阵列
- 28. 动态比较两个阵列
- 29. 比较SQL中不同类型的不同表中的两列
- 30. 比较两个单元格阵列的相同行 - MATLAB