實現步驟:1、利用asort()函數對數組按照鍵值進升序排序,語法“asort(原始數組)”,排序後最小的元素就集中在數組的開頭;2、利用array_slice ()函數從陣列開頭截取N個最小元素即可,語法「array_slice(排序後陣列,0,N)」。
![php怎麼找出陣列最小的幾個元素](https://img.php.cn/upload/article/000/000/024/634d357558fce713.jpg)
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在PHP中,可以利用asort()函數和array_slice()函數來找出陣列最小的N個元素。
實作想法:
實作步驟:
#1、利用asort()函數對陣列依照鍵值進升序排序
![166600350810292php怎麼找出陣列最小的幾個元素 php怎麼找出陣列最小的幾個元素](https://img.php.cn/upload/image/483/140/933/166600350810292php怎麼找出陣列最小的幾個元素)
可以看到,排序後,最小的元素就在陣列的開頭,只需要按照需要截取指定個數。
步驟2:利用array_slice()函數從陣列開頭截取N個元素
array_slice()函數是PHP提供的用來截取數組的一個函數
想要從陣列開頭截取N個元素,只需要將第二個參數設為0,第三個參數設定為元素個數N即可。
array_slice(排序后数组,0,N)
登入後複製
範例:取得陣列最小的2個、3個、4個元素
![166600392083871php怎麼找出陣列最小的幾個元素 php怎麼找出陣列最小的幾個元素](https://img.php.cn/upload/image/273/309/165/166600392083871php怎麼找出陣列最小的幾個元素)
##擴充知識:函數介紹
1、asort()函數
asort()函數會依照關聯陣列的鍵值升序排序,且不會修改原數組中的鍵名。
asort($array,$sortingtype)
登入後複製
asort()函數有兩個參數:$array(必須)和$sortingtype(可省略)。
其中,$sortingtype參數用來定義函數排序的模式,指定如何比較陣列的元素/項目,預設值為「SORT_REGULAR」。
$sortingtype參數可以設定為下列這些值:
- 0 = SORT_REGULAR:正常比較陣列元素,不改變其類型(預設值);
- 1 = SORT_NUMERIC:將陣列元素當作數字來處理;
- 2 = SORT_STRING:將陣列元素當作字串來處理;
- 3 = SORT_LOCALE_STRING:基於目前的區域設定(可透過setlocale()進行變更),把陣列元素當作字串比較。
- 4 = SORT_NATURAL:和 natsort() 類似對每個陣列元素以「自然的順序」對字串進行排序,是 PHP5.4.0 中新增的。
- 5 = SORT_FLAG_CASE:能夠與 SORT_STRING 或 SORT_NATURAL 合併(OR 位元運算),不區分大小寫排序字串。
2、array_slice()函數
array_slice()函數可以從陣列中擷取出一個片段
array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )
登入後複製
參數說明:
arr 表示要截取的陣列。 start 表示開始截取的位置(下標):如果 start 為正數,則從前往後截取。 如果 start 為負數,則從距離 arr 端 -start 的位置開始,從後往前截取。例如 -2 意味著從陣列的倒數第二個元素開始。
length 是可選參數,表示截取長度:如果length 為正數,那麼表示被截取的元素個數;如果length為負數,那麼截取的片段將終止在距離數組末端length 的位置;如果省略,那麼將從start 位置開始,一直截取到數組的末尾。
preserve_keys 是可選參數,規定是否保留原來的鍵名,預設為 false,也即不保留;如果設為 true,將保留原有的鍵名。
註:array_slice()函數不會改變原始數組
範例1:參數$start
![1666004241537510.png php怎麼找出陣列最小的幾個元素](https://img.php.cn/upload/image/539/476/496/1666004241537510.png)
範例2 :參數$length
![1666004265202637.png php怎麼找出陣列最小的幾個元素](https://img.php.cn/upload/image/681/373/482/1666004265202637.png)
範例3:參數$preserve
表示是否保留原來的鍵名,預設值為false,也即不保留;如果設定為true,將保留原有的鍵名。
![166600429991278php怎麼找出陣列最小的幾個元素 php怎麼找出陣列最小的幾個元素](https://img.php.cn/upload/image/595/150/538/166600429991278php%E6%80%8E%E9%BA%BC%E6%89%BE%E5%87%BA%E9%99%A3%E5%88%97%E6%9C%80%E5%B0%8F%E7%9A%84%E5%B9%BE%E5%80%8B%E5%85%83%E7%B4%A0)
推薦學習:《
PHP影片教學》
以上是php怎麼找出陣列最小的幾個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!