PHP檢查陣列中可能缺少的數字,也可以理解為計算兩個陣列中元素的差集。那這裡我們就可以透過PHP中range和array_diff這兩個函數來實現。
推薦參考學習:《PHP教學》
下面我們就結合具體的程式碼範例,為大家介紹PHP檢查數組中可能缺少的數字的方法。
程式碼範例如下:
<?php //PHP检查数组中可能缺少的数字 function aaa($num_list){ //创建一个数组 $new_arr = range($num_list[0],max($num_list)); //使用array_diff查找缺少的元素 return array_diff($new_arr,$num_list); } echo "<pre class="brush:php;toolbar:false">"; print_r(aaa(array(1,2,3,6,7,8))); print_r(aaa(array(10,11,12,14,15,16,17)));
這裡我們建立了一個aaa方法,用來計算上述程式碼中兩個陣列分別所缺少的數字。
輸出缺少的元素如下:
如圖,第一個陣列缺少了數字4,5;第二個陣列缺少了數字13。
重要函數介紹:
range 函數表示根據範圍建立數組,包含指定的元素
語法:
range ( mixed $start , mixed $end [, number $step = 1 ] ) : array
建立一個包含指定範圍單元的陣列。
參數 :start表示序列的第一個值。 end表示序列結束於 end 的值。 step表示如果設定了步長 step,會被當作單元之間的步進值。 step 應該為正值。不設定step 則預設為 1。
傳回值是,傳回的陣列中從 start 到 end (含 start 和 end)的單元。
array_diff 函數表示計算數組的差集
語法:
array_diff ( array $array1 , array $array2 [, array $... ] ) : array
對比array1 和其他一個或多個數組,傳回在array1 中但是不在其他array 裡的值。
參數:array1表示要被比較的陣列;array2表示和這個陣列比較;...表示更多比較的陣列。
傳回值表示傳回一個數組,該數組包含了所有在 array1 中但是不在任何其它參數數組中的值。注意鍵名保留不變。
這篇文章是關於PHP檢查陣列中可能缺少的數字的方法介紹,也是PHP面試常見考題之一,非常簡單,希望對需要的朋友有所幫助!
以上是PHP檢查數組中缺少的數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!