有没有办法删除两个数字而不影响其他人?

Is there a way to remove two numbers not affecting others?

代码给出以下输出,每次都会给出不同的输出。

有什么方法可以删除 2 个数字,例如 15 和 60,以便其他数字不受影响,它们保持不变?

我已经试过了,但没有得到想要的结果。

任何帮助或任何想法如何做到这一点?

<?php

$arr = array();

for ($i = 1; $i < 82; $i++) {
    $arr[] = $i;
}

shuffle($arr);
$lines = array_chunk($arr, 9);

echo "<table>";

foreach ($lines as $key => $line) {
    echo "<tr>";
    for ($i = 0; $i < sizeof($line); $i++) {
        echo "<td align='right'>" . $line[$i] . "</td>";
    }
    echo "</tr>";
}

echo "</table>";
?>




 Out put

 52 67  5   44  76  49  1   27  28
 73 33  19  66  4   14  63  45  62
 26 75  50  80  70  38  12  54  78
 9  69  36  32  2   7   56  11  51
 40 20  22  15  60  65  31  41  77
 57 29  34  79  68  23  18  71  39
 42 10  72  17  81  30  35  48  47
 37 59  53  6   3   55  13  46  58
 61 25  24  64  74  43  21  8   16

这应该适合你:

只需将代码放在 shuffle() 调用之前。基本上首先我们创建一个模式数组,通过遍历我们想要从列表中提取的所有数字,使用 array_map().

该模式基本上有两个 anchors 来完全匹配数组中的数字,而不仅仅是部分匹配(例如 2 不会匹配 24,但会匹配 2).

对于创建的模式数组,我们只需使用 preg_replace() 将数组中的数字替换为空字符串。

$numbers = [15, 60];
$pattern = array_map(function($v){
    return "/^$v$/";
}, $numbers);
$arr = preg_replace($pattern, "", $arr);