亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP:如何替換具有固定大小的數組中的重復數組值

PHP:如何替換具有固定大小的數組中的重復數組值

PHP
皈依舞 2023-08-19 16:56:33
我有一個固定大小為 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                {                      }
查看完整描述

3 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

一個簡單(但不是最佳)的解決方案是在數組長度不是 10 時不斷向數組添加值,并始終刪除重復項,這將確保數組有 10 個不同的隨機元素。


$array = [];


while (count($array) < 10){

    $array[] = rand(10, 100);

    $array = array_unique($array);

}


print_r($array);


查看完整回答
反對 回復 2023-08-19
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

對于像這樣的小數組(100 個數字),您可以生成一個包含 10-100 個元素的數組,然后隨機選擇。

一條線解決方案:

print_r(array_rand(range(10, 100), 10));


查看完整回答
反對 回復 2023-08-19
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

也許像這樣?


<?php

$numbers = [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)];


    foreach ($numbers as $key => $number)

    {

        if (in_array($number,$numbers))

        {

            $numbers[$key] = rand(10,100);

        }


    }



print_r($numbers);

?>


查看完整回答
反對 回復 2023-08-19
  • 3 回答
  • 0 關注
  • 176 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號