我有一个包含30个元素的数组。我想绘制一个具有5行的表,并从每行中的数组中随机分配3个元素,而各行之间没有重复的元素。行之间没有重复。我写了下面的代码:
<?
$array1 = rang(1,30);
function RandomArrayNew($array){
$keyrandom = array_rand($array, 3);
$a= $array[$keyrandom[0]];
$b= $array[$keyrandom[1]];
$c= $array[$keyrandom[2]];
$t = [$a, $b, $c];
return $t;
}
?>
<table style="width: 100%" class="bodymenu">
<?
$countRows = 5;
for ($i = 0; $i <= $countRows; $i++){
$x = RandomArrayNew($array1);
$y =array_diff($array1, [$x[0], $x[1], $x[2]]);
echo "<tr>";
echo"<td><input type='text' value='".$x[0]."'/></td>";
echo"<td><input type='text' value='".$x[1]."'/></td>";
echo"<td><input type='text' value='".$x[2]."'/></td>";
echo "</tr>";
}
?>
</table>
该代码实际上通过for循环绘制了5行,并且在每行中随机分配了三个数字。问题是分配的数字重复。我需要防止行之间重复的数字。是否可以取消从原始数组分配的数字并在下一行中使用新数组?如果是的话,我该怎么办?