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

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

PHP - 如何在數組中插入新元素避免重復?

PHP - 如何在數組中插入新元素避免重復?

PHP
手掌心 2021-10-08 13:03:19
我想創建一個函數,它將數組$arr_previsioni、值$previsione和$pos指示位置的數字作為輸入參數。該函數應該:1 - 如果 $previsione 尚不存在,則添加該值。2 - 如果 input 中給出的值 $previsione 已經存在于數組中,它必須修改 $previsione 的值,使其與所有其他值沒有區別,最后將其添加到數組中?;旧辖o定一個輸入 x 數字,我必須創建一個具有此優先級的唯一數字數組:如果我在輸入中給出的 x 數字已經存在于數組中,那么我們需要更改 x 數字(添加或減去某些內容)以使它獨一無二。function aggiungiPrevisione($previsione,$pos,$arr_previsioni){    echo '<br>';    // if it is the first element of the array    if($pos == 1){        $arr_previsioni['PREVISIONE1'] = $previsione;        return $arr_previsioni;    }    $numero_elementi = count($arr_previsioni);       foreach($arr_previsioni as $key=>$value){        for($i=0; $i <= $numero_elementi+2; $i++){            // Verifica se esiste            if (in_array($previsione, $arr_previsioni)){                // The same number was found in array                if($previsione  > 45){                    $previsione = $previsione - 13;                } else {                    $previsione = $previsione + 13;                }                $previsione = getNumeroGiocabile($previsione); // returns a number from 0 to 90            } // end checking        } // end for    } // end foreach    // Add $previsione in array    $arr_previsioni['PREVISIONE'.$pos] = $previsione; // by Vincent Decaux    return $arr_previsioni;}$previsione = makePrevisione(); // return number from 1 to 90$arr_previsioni = array(); // initially emptyfor($pos=1; $pos<=24; $pos++){   $arr_previsioni = aggiungiPrevisione($previsione,$pos,$arr_previsioni);} var_dump($arr_previsioni);我創建的函數返回一個包含 24 個元素的數組,但有些元素與其他元素相同。
查看完整描述

1 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

看來你正在尋找這樣的東西:


function aggiungiPrevisione($previsione,$pos,$arr_previsioni) 

{

    echo '<br>';


    // if it is the first element of the array

    if ($pos == 1) {

        $arr_previsioni['PREVISIONE1'] = $previsione;

        return $arr_previsioni;

    }


    // Make sure $previsione does not yet exist

    while (in_array($previsione, $arr_previsioni)) {

        $previsione = rand(0, 90);

    } 


    // Add $previsione in array

    $arr_previsioni['PREVISIONE'.$pos] = $previsione; 


    return $arr_previsioni;

}

請注意,我只更改了此功能的中間部分。我有一個簡單的while循環檢查值$previsione是否在數組中$arr_previsioni。如果它是一個新的 0 到 90 之間的隨機值,則為 生成一個新的隨機值$previsione,并再次檢查循環條件,直到該值不再存在于數組中。


請注意,一旦使用了 0 到 90 之間的所有值,此例程就會失敗。


我也無法糾正所有其他問題,例如:

  • 有一個echo '<br>';用于操作數組的函數。

  • 數組中有不需要的字符串鍵。默認的數字鍵可能會這樣做。

  • 陣列的錯誤初始化例程。

  • 我喜歡用英語編程,因為編程語言是英語?;旌蟽煞N語言不會幫助其他人閱讀您的代碼,除非他們碰巧是意大利人。順便說一下,我是荷蘭人。你不會喜歡閱讀荷蘭代碼,我敢肯定。與此相反,您的評論是英文的。他們只是為了問題而添加的嗎?


查看完整回答
反對 回復 2021-10-08
  • 1 回答
  • 0 關注
  • 169 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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