实现步骤: 1、使用asort()函数根据通配符对字段进行倒序排序,句型“asort(原字段)”,排序后最小的元素集中在链表的开头; 2、使用array_slice()函数从字段开头开始截取N个最小的元素就足够了,语句类型为“array_slice(已排序的字段,0,N)”。
本教程运行环境:windows7系统、PHP8.1版本、DELLG3笔记本
在PHP中,可以使用asort()函数和array_slice()函数来查找链表的最小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); ?>
可以看到,排序后,最小的元素在链表的开头,只需要根据需要截取指定的数字即可。
第二步:使用array_slice()函数截取链表开头的N个元素
array_slice()函数是PHP提供的截取链表的函数
如果要从链表开头截取N个元素,只需将第二个参数设置为0,第三个参数设置为元素个数N即可。
array_slice(排序后数组,0,N)
示例:获取链表最小的2、3、4个元素
拓展知识:功能介绍
1.asort()函数
asort()函数会根据关联链表的通配符进行倒序排序php 数组截取php 数组截取,并且不会改变原链表中的键值。
asort($array,$sortingtype)
asort() 函数有两个参数:$array(必需)和$sortingtype(可选)。
其中,$sortingtype参数用于定义函数排序的模式,指定如何比较字段的元素/项,默认值为“SORT_REGULAR”。
$sortingtype 参数可以设置为以下值:
2. array_slice()函数
array_slice()函数可以从链表中提取切片
array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )
参数说明:
length为可选参数,表示截取宽度:preserve_keys为可选参数,指定是否保留原始key值,默认为false,即不保留; 如果设置为 true,将保留原始键值。
注意:array_slice()函数不会改变原始字段
示例 1:参数 $start
示例 2:参数 $length
示例 3:参数 $preserve
表示是否保留原来的key值,默认值为false,即不保留; 如果设置为 true,则保留原始键值。
推荐学习:《PHP视频教程》