PHP是一種廣泛使用的伺服器端腳本語言,它在開發網頁應用程式時被廣泛使用。一個常見的任務是創建隨機不重複的數字數組。本文將向您展示如何使用PHP建立這樣的陣列。
在此之前,需要先了解三個函數:rand(),array_push(), 和in_array()。 rand()函數用於產生偽隨機數,array_push()函數用於將元素添加到數組末尾,in_array()函數用於檢查元素是否已經存在於數組中。
下面是一個創建隨機不重複數字數組的兩個方法:
方法一:使用while迴圈和in_array()函數
首先,建立一個空數組來容納產生的數字。然後使用while循環來產生數字,並將每個數字添加到數組中。但是在將數字加入陣列之前,用in_array()函數檢查它是否已經存在於陣列中。如果數字已經存在,則循環繼續產生新的數字,直到一個新的數字被找到。
以下是使用while迴圈和in_array()函數建立隨機不重複數字陣列的範例程式碼:
$numbers = array(); while (count($numbers) < 10) { $rand = rand(1, 20); if (!in_array($rand, $numbers)) { array_push($numbers, $rand); } } print_r($numbers);
在這個範例中,我們建立了一個包含10個元素的陣列。在每一次循環中,我們使用rand()函數產生1-20之間的偽隨機數,並使用in_array()函數檢查它是否已經存在於數組中。如果沒有,我們使用array_push()函數將數字加到陣列末尾。當陣列的長度達到10個時,循環終止,並列印數組的內容。
方法二:使用for迴圈和shuffle()函數
第二種方法是使用for迴圈產生一系列數字,並使用shuffle()函數將它們打亂。在這個範例中,我們使用range()函數產生一個包含一系列數字的數組,然後使用shuffle()函數將數組中的元素打亂。這個方法不需要使用in_array()函數,因為在初始陣列中沒有重複的數字。
以下是使用for迴圈和shuffle()函數建立隨機不重複數字數組的範例程式碼:
$numbers = range(1, 20); shuffle($numbers); $numbers = array_slice($numbers, 0, 10); print_r($numbers);
在這個範例中,我們使用range()函數產生1-20之間的數字數組。然後使用shuffle()函數將數組中的元素打亂。最後,我們使用array_slice()函數從數組中選擇前10個元素作為隨機不重複數字數組,並列印數組的內容。
總結
本文展示了兩種使用PHP建立隨機不重複數字陣列的方法。第一種方法在while迴圈中使用in_array()函數檢查數字是否已經存在於陣列中,並將不重複的數字加入陣列。第二種方法使用for迴圈產生一系列數字後,使用shuffle()函數打亂數字順序,並從陣列中選擇前10個元素作為隨機不重複數字數組。這兩種方法都可以實現隨機產生不重複數字的目的,具體使用哪一種方法取決於您的個人喜好以及應用程式的要求。
以上是php如何建立隨機不重複的數字數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!