有没有办法删除两个数字而不影响其他人?
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);
代码给出以下输出,每次都会给出不同的输出。
有什么方法可以删除 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);