如果数组值彼此匹配,则重新洗牌 - php

我有一个表格,用户可以在7个不同的字段中输入数字,然后使用

shuffle($_POST);

混合数字,然后将它们与最初输入的数字进行对比,因此输出如下所示:

1 1
2 4
3 6
4 2
5 7
6 3
7 5

这是我正在使用的代码。

<?php 
error_reporting(0);
if ($_SERVER['REQUEST_METHOD']== "POST") {
$array = implode("",$_POST);
shuffle($_POST);
}
?>
<div class="box"><?php echo $array[0]; ?> <?php echo $_POST[0]; ?></div><br>
<div class="box"><?php echo $array[1]; ?> <?php echo $_POST[1]; ?></div><br>
<div class="box"><?php echo $array[2]; ?> <?php echo $_POST[2]; ?></div><br>
<div class="box"><?php echo $array[3]; ?> <?php echo $_POST[3]; ?></div><br>
<div class="box"><?php echo $array[4]; ?> <?php echo $_POST[4]; ?></div><br>
<div class="box"><?php echo $array[5]; ?> <?php echo $_POST[5]; ?></div><br>
<div class="box"><?php echo $array[6]; ?> <?php echo $_POST[6]; ?></div><br>

如何检查两个数组的值,以确保它们不匹配。如果它们确实匹配,那么我想再次使用shuffle(),直到没有一个匹配。我可能会使用if else语句再次运行代码,直到数字不匹配为止,但不确定如何处理。

参考方案

在while循环中检查array_intersect_assoc($array,$_POST);,直到返回空数组,随机播放!

使用array_intersect_assoc()

$array = $_POST;
do {
    shuffle($_POST);

} while ((count(array_intersect_assoc($array, $_POST))) !=0);

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP-复选框组 - php

我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…

当使用jquery的id做某事时,id可以来自任何一种标记吗? - php

我是JQuery的新手,我正尝试使用PHP,HTML和JQuery编写代码。我想用具有ID的标签替换HTML中的所有<?php echo $var; ?>。例如,我想使用<div id="name"></div>之类的东西,然后使用$("#name")将其显示在该div字段中。我的问…

PHP中奇怪的sprintf行为 - php

我试图做sprintf("<%s>", "Sat");,但是什么也没出现。当您删除小于符号时,它将再次开始工作。任何人都经历过这种行为以及是否会发生这种情况?因为我认为这是一个错误。您甚至可以在这里使用printf .....获得相同的结果。http://writecodeonline.com/php/ 参…

jQuery不起作用 - php

我正在使用带有ajax的jquery。有时,给出错误$未定义。这是我的代码:<script language="javascript" type="text/javascript"> var base_path="<? echo $this->baseUrl().'/…