广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么找出数组最小的几个元素
  • 852
分享到

php怎么找出数组最小的几个元素

2024-04-02 19:04:59 852人浏览 才女
摘要

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑在php中,可以利用asort()函数和array_slice()函数来找出数组最小的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);
?>

1.png

可以看到,排序后,最小的元素就在数组的开头,只需要按照需要截取指定个数即可。

步骤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);

?>

2.png

扩展知识:函数介绍

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

<?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);
?>

3.png

示例2:参数$length

<?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);
?>

4.png

示例3:参数$preserve

表示是否保留原来的键名,默认值为false,也即不保留;如果设置为 true,将保留原有的键名。

<?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);
?>

5.png

--结束END--

本文标题: php怎么找出数组最小的几个元素

本文链接: https://www.lsjlt.com/news/34420.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php怎么找出数组最小的几个元素
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑在PHP中,可以利用asort()函数和array_slice()函数来找出数组最小的N个元素。实现思想:将数组重新排序,数组元素从小到大的升序排序。(这样最...
    99+
    2022-10-18
  • php数组怎么循环前几个元素
    实现步骤:1、定义一个变量并赋值为0,用于控制循环元素个数,语法“$con=0;”;2、用foreach语句循环遍历数组,语法“foreach($arr as $k=>$v){//循环体;}”;3、在循环体中,每循环遍历一个元素,设置...
    99+
    2022-08-22
  • php如何找出两个数组不同的元素
    这篇文章将为大家详细讲解有关php如何找出两个数组不同的元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext ...
    99+
    2023-06-15
  • php怎么获取数组中有几个元素
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在 PHP 中想要统计数组元素的数目其实很简单,PHP 为我们提供了两个函数,分别是 count() 和 sizeof() 函数。其实,sizeof() 函数是 cou...
    99+
    2014-08-07
    php 数组 元素数目
  • php怎么获取数组最后一个元素
    在PHP中,可以使用end()函数来获取一个数组的最后一个元素。示例如下:php$array = [1, 2, 3, 4, 5];$...
    99+
    2023-10-18
    php
  • php怎么移除最后两个数组元素
    两种移除方法:1、使用array_splice()函数,只需将该函数的第二个参数设置为“-2”即可,语法“array_splice($arr,-2)”,会改变原数组。2、使用array_slice()函数,只需将该函数的第二个参数设置为0,...
    99+
    2022-08-18
    php数组 php
  • php怎么打乱数组随机选取几个数组元素
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php打乱数组随机选取几个数组元素打乱数组可以使用shuffle()函数随机选取数组元素:可以利用array_rand()函数和foreach语句array_rand(...
    99+
    2019-11-11
    php 打乱数组 随机获取数组元素
  • php只留下数组的前几个元素
    在使用PHP开发应用程序时,有时候需要对数组进行处理,例如只留下数组的前几个元素。这里介绍几种方法实现此功能。方法一:使用array_slice()函数array_slice()函数可以返回一个数组的子集,可以选择保留数组的前几个元素。具体...
    99+
    2023-05-19
  • php怎么统计数组中某个元素出现的个数
    可以使用array_count_values()函数来统计数组中某个元素出现的个数。该函数会返回一个关联数组,其中键是数组中的元素,...
    99+
    2023-10-10
    php
  • php怎么合并数组后截取前几个元素
    实现方法:1、使用array_merge()把一个或多个数组合并为一个数组,语法“array_merge(数组1,数组2...)”;2、使用array_slice()截取前N个数组元素,语法“array_slice(合并数组,0,N)”。本...
    99+
    2022-06-14
    php数组 php
  • php怎么改变数组最后一个元素的值
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php改变数组最后一个值方法1:直接给数组最后一个元素($arr[数组长度-1])重新赋值<php $arr=array("red",&quo...
    99+
    2020-04-12
    php 数组
  • php怎么求数组中最小的元素值和下标
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑分析:php求数组中最小的元素值和下标可以分成两步获取数组的最小的元素值(最小值)根据最小值来求该值在数组的对应下标(键名)下面就来给大家具体介绍一下实现步骤...
    99+
    2022-10-18
  • js如何找出两个数组中不同的元素
    目录js找出两个数组中不同的元素js找出两个数组中不同元素和相同元素的几种方法找出不同元素找出相同的元素总结js找出两个数组中不同的元素 function getNewArr(a,b...
    99+
    2022-12-09
    js数组元素 js数组不同元素 找两个数组不同元素
  • php怎么删除数组最后的元素
    删除方法:1、用array_pop()删除最后一个元素,语法“array_pop($arr);”;2、用array_splice()删除最后N个元素,只需将第二个参数设置为“-N”即可,语法“array_splice($arr,-N)”。本...
    99+
    2022-06-14
    php数组 php
  • python怎么取数组最后一个元素
    在Python中,可以使用索引-1来获取数组的最后一个元素。例如,有一个数组arr,我们可以使用以下代码获取最后一个元素:```ar...
    99+
    2023-08-23
    python
  • php怎么查询指定值是数组中的第几个元素
    查询步骤:1、利用array_values()函数重置数组键名,将数组转为索引数组,语法“array_values(数组)”;2、利用array_search()函数获取指定值在索引数组中的位置(索引值+1)即可,语法“array_sear...
    99+
    2022-08-23
  • php怎么输出数组的所有元素
    这篇文章主要讲解了“php怎么输出数组的所有元素”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php怎么输出数组的所有元素”吧!3种方法:1、用“var_dump($array)”输出整个数...
    99+
    2023-06-30
  • es6数组怎么删除最后一个元素
    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。es6数组删除最后一个元素的几种方法方法1:利用length属性删除最后一个数组元素数组的length属性一般是用来设置或返回数组中元素的数目,即设置或返...
    99+
    2022-11-22
    javascript es6数组
  • julia怎么求出二维数组最大元素值
    求一个二维数组的最大元素值,可以通过遍历数组的每一个元素,比较它们的大小来找到最大值。以下是一个求二维数组最大元素值的示例代码:``...
    99+
    2023-09-21
    julia
  • JavaScript怎么输出一个数组的全部元素
    本篇内容主要讲解“JavaScript怎么输出一个数组的全部元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript怎么输出一个数组的全部元素”吧...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作