PHP:比较两组数字,没有欺骗

WMI*_*WMI 0 php compare numbers

我正在为我的网站创建一个彩票竞赛,我需要知道比较数字最简单的方法,这样就没有两个人可以选择相同的数字.它是7组数字,每个数字是1到30之间的数字.

例如,如果用户1选择:1,7,9,17,22,25,29,我如何确保用户2不能选择相同的确切数字?

我正在考虑将所有7个数字放入一个数组中,对它进行排序以使数字按顺序排列,然后将它们连接成一个字符串.然后当另一个用户选择他们的7个数字时,它会做同样的事情,然后比较两个.有没有更好的方法呢?

Dav*_*dom 6

你描述的内容听起来对我来说是最好的方式,如果你正在处理同一个脚本中的所有提交 - 我会对trim(implode(',',$array))排序的数组,将结果字符串存储在一个数组中并调用in_array()以确定该值是否已存在.

但是,我怀疑你实际在做的是将选择存储在数据库表中,并将以后提交的内容与此表进行比较.在这种情况下(我冒昧并在这里假设MySQL,但我会说它是PHP最常用的引擎)你应该创建一个包含7列的表choice_1,choice_2... choice_7(以及你想要的任何其他列)并创建所有七 choice_*列的唯一索引.这意味着当您尝试插入重复行时,查询将失败.这让MySQL可以为您完成所有工作.