實現步驟:1、利用asort()函數對數組按照鍵值進升序排序,語法“asort(原始數組)”,排序後最小的元素就集中在數組的開頭;2、利用array_slice ()函數從陣列開頭截取N個最小元素即可,語法「array_slice(排序後陣列,0,N)」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在PHP中,可以利用asort()函數和array_slice()函數來找出陣列最小的N個元素。
實作想法:
將陣列重新排序,陣列元素從小到大的升序排序。 (這樣最小的元素就在陣列的開頭)
直接從陣列kait截取N個陣列元素即可。
實作步驟:
#1、利用asort()函數對陣列依照鍵值進升序排序
<?php header('content-type:text/html;charset=utf-8'); $arr=array(34,3,-1,-6,42,12,1); echo "原数组:"; var_dump($arr); asort($arr); echo "升序排序后:"; var_dump($arr); ?>
可以看到,排序後,最小的元素就在陣列的開頭,只需要按照需要截取指定個數。
步驟2:利用array_slice()函數從陣列開頭截取N個元素
array_slice()函數是PHP提供的用來截取數組的一個函數
想要從陣列開頭截取N個元素,只需要將第二個參數設為0,第三個參數設定為元素個數N即可。
array_slice(排序后数组,0,N)
範例:取得陣列最小的2個、3個、4個元素
<?php header('content-type:text/html;charset=utf-8'); $arr=array(34,3,-1,-6,42,12,1); echo "原数组:"; var_dump($arr); asort($arr); echo "升序排序后:"; var_dump($arr); echo "获取数组最小的2个元素:"; $result = array_slice($arr,0,2); //截取数组前2位的元素 var_dump($result); echo "获取数组最小的3个元素:"; $result = array_slice($arr,0,3); //截取数组前3位的元素 var_dump($result); echo "获取数组最小的4个元素:"; $result = array_slice($arr,0,4); //截取数组前3位的元素 var_dump($result); ?>
##擴充知識:函數介紹
1、asort()函數
asort()函數會依照關聯陣列的鍵值升序排序,且不會修改原數組中的鍵名。asort($array,$sortingtype)
2、array_slice()函數
array_slice()函數可以從陣列中擷取出一個片段array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,2); var_dump($result); $result = array_slice($arr,-2); var_dump($result); ?>
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,1,1); var_dump($result); $result = array_slice($arr,1,-1); var_dump($result); ?>
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,1,1,true); var_dump($result); $result = array_slice($arr,1,-1,true); var_dump($result); ?>
PHP影片教學》
以上是php怎麼找出陣列最小的幾個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!