【发布时间】:2020-11-13 06:28:52
【问题描述】:
我有一个固定大小为 10 的数组。该数组填充了随机数。我想要的是打印大小为 10 的数组,并过滤掉所有重复项。
我使用了array_unique,但它只是删除了重复值,并没有用新的随机数替换重复值。因此,有时大小为 9 个数字,有时大小为 7 个数字。我希望数组的长度始终为 10 个数字,并且没有重复值。我已经尝试了几个函数(in_array、isset、array_replace、array_merge、array_search),但我不知道如何完成我想要的。我处于我的代码可以检测到重复项的部分,但我不知道如何用同样唯一的新随机数替换这些重复项。这是我写的代码:
$numbers = Array (rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100));
If (count($numbers) > count(array_unique($numbers)))
{
Foreach ($numbers As $number)
{
$inArray = array_search($number, $numbers);
If ($inArray === FALSE)
{
echo "No duplicate(s) found" ;
}
Else
{
echo "Duplicate(s) found" ;
}
}
}
Else
{
}
【问题讨论】:
标签: php arrays duplicates