在上一篇文章《使用珠算法對PHP數(shù)組進(jìn)行排序》中給大家介紹了通過珠算法對數(shù)組進(jìn)行排序,本文繼續(xù)給大家介紹一個(gè)小知識點(diǎn)~
假設(shè)有這樣的問題:請你編寫一個(gè) PHP 函數(shù),返回不為 0 的最小整數(shù)。
大家對這樣一個(gè)問題,有沒有簡單的思路?。?/p>
其實(shí)大家應(yīng)該都知道在PHP中有一個(gè)內(nèi)置函數(shù)min(),就是用來獲取返回一個(gè)數(shù)組中的最小值,或者幾個(gè)指定值中的最小值。
那么我們怎么通過創(chuàng)建一個(gè)PHP函數(shù)來獲取返回不為0的最小整數(shù)呢?
下面我們來給大家介紹具體的實(shí)現(xiàn)步驟:
首先創(chuàng)建一個(gè)PHP示例文件demo.php;
然后自定義一個(gè)min_values_not_zeroh
函數(shù);
完整代碼如下:
<?php function min_values_not_zero(Array $values) { return min(array_diff(array_map('intval', $values), array(0))); } print_r(min_values_not_zero(array(-1,0,1,12,-100,1))."n");
這里給了一個(gè)示例數(shù)組“-1,0,1,12,-100,1”,讓我們看看這組數(shù)據(jù)返回不為0的最小整數(shù)是哪個(gè)?
結(jié)果如下:
如圖,最小整數(shù)是-100.
很簡單吧。
注:
array_map()
函數(shù):為數(shù)組的每個(gè)元素應(yīng)用回調(diào)函數(shù),返回值是數(shù)組,包含 callback 函數(shù)處理之后 array (有多個(gè)數(shù)組時(shí),為 arrays) 對應(yīng)索引所有元素作為函數(shù)的參數(shù)。當(dāng)僅僅傳入一個(gè)數(shù)組時(shí),返回的數(shù)組會保留傳入?yún)?shù)的鍵(key)。 傳入多個(gè)數(shù)組時(shí),返回的數(shù)組鍵是按順序的 integer。
array_diff()
函數(shù):用于比較兩個(gè)(或