热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP中数组元素升序、降序及重新排序的函数

应用sort($peoples)默认即是按照元素定义值的升序排序,在关联数组中可应用asort()函数表现,关联数组中最重要的则是可按照要害字(如xm、xb、mz等)的升序排序,该方法是用函数ksort()函数。

在PHP数组学习摘录部分懂得到最基础的PHP数组的建立和数组元素的显示。需要深进学习下PHP数组的相干把持。首先接触的就是数组元素的升序、降序的排序标题。

1,快速创立数组的函数range()

比如range()函数可以快速创立从1到9的数字数组:


$numbers=range(1,9);
echo $numbers[1];
?>


当然,应用range(9,1)则创立了9到1的数字数组。同时,range()还可以创立从a到z 的字符数组:


$numbers=range(a,z);
foreach ($numbers as $mychrs)
    echo $mychrs.' ';
?>


应用字符数组时留心大小写,比如range(A,z)和range(a,Z)是不一样的。

range()函数还具有第三个参数,该参数的作用是设定步长,比如range(1,9,3)创立的数组元素是:1、4、7

2,PHP中惯例数组的排序

一般数组中的各元素均以字符或数字表现的,所以可对数组元素进行升序排列,该功效函数为sort()。比如:


$people=array('name','***','nation','birth');
foreach ($people as $mychrs)
    echo $mychrs.' ';
sort($people);
echo '
---排序后---
';
foreach ($people as $mychrs)
    echo $mychrs.' ';
?>


升序排序后的数组元素显示为 birth name nation ***,当然,sort()函数是区分字母大小写的(字母从大到小的次序是:A…Z…a…z)

Sort()函数还具有第二参数,用来阐明升序的规矩是用来比拟数字还是字符串的。比如:


echo '---按数字升序排序---
';
$num2=array('26','3',);
sort($num2,SORT_NUMERIC);
foreach ($num2 as $mychrs)
    echo $mychrs.' ';

echo '
---按字符升序排序---
';
$num3=array('26','3');
sort($num3,SORT_STRING);
foreach ($num3 as $mychrs)
    echo $mychrs.' ';
?>


SORT_NUMERIC和SORT_STRING用来声明按数字或字符的升序排列。假如按照数字升序排列是:3,26;但假如按照字符升序排列则是:26,3了。

PHP中除了升序函数以外,还有降序或称反向排列的函数,就是rsort()函数,比如:


$num1=range(1,9);
rsort($num1);


这里实在就相当于range(9,1)

3,PHP中关联数组的排序

PHP除了支撑数字索引数组以外,还支撑相干数组。比如如下数组就是一个相干(关联)数组:


$peoples=array('xm'=>'name','xb'=>'***','mz'=>'nation','cs'=>'birth');


应用sort($peoples)默认即是按照元素定义值的升序排序,在关联数组中可应用asort()函数表现,关联数组中最重要的则是可按照要害字(如xm、xb、mz等)的升序排序,该方法是用函数ksort()函数。 

 

 


$peoples=array('xm'=>'name','xb'=>'***','mz'=>'nation','cs'=>'birth');
foreach ($peoples as $mychrs)
    echo $mychrs.' ';

echo '
--按元素值升序排列--
';
asort($peoples);
foreach ($peoples as $mychrs)
    echo $mychrs.' ';

echo '
--按要害字升序排列--
';
ksort($peoples);
foreach ($peoples as $mychrs)
    echo $mychrs.' ';
?>


和惯例数组拥有sort()升序函数的反向排序rsort()降序函数相对应的,关联数组也有对应的降序函数:asort()函数和arsort()函数、ksort()函数和krsort()函数。

记忆:原型函数是sort(),其中a、k表现关联数组相干必需前置,反向排序应用r润饰。

4,PHP数组元素随机排序

PHP中应用shuffle()函数将数组元素进行随机的重新排序,比如:


$fer=array('cnbruce','cnrose','cnjames','cnanne');
shuffle($fer);

foreach ($fer as $mychrs)
echo $mychrs.' ';
?>


每次都会显示不同的排序组合

5,PHP数组按原次序反向排序

PHP中可应用array_reverse()函数将数组元素按原次序反向排序。比如:


$fer=array('cnbruce','cnrose','cnjames','cnanne');
foreach ($fer as $mychrs)
echo $mychrs.' ';

$fer=array_reverse($fer);
echo '
--按原次序反向--
';
foreach ($fer as $mychrs)
echo $mychrs.' ';
?>


cnbruce cnrose cnjames cnanne 
--按原次序反向--
cnanne cnjames cnrose cnbruce

留心这里的 $fer=array_reverse($fer); 在此之前的任何排序函数均只是声明引用,并没有对原有数组进行重新定义,但当我调试该函数时则需要重新定义。这是由于array_reverse()是返回原数组修正后的副本,假如不需要原有数组,可对原数组重新定义达到笼罩的目标,否则就另外定义数组保留副本,比如:$fer_bak=array_reverse($fer); 


推荐阅读
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 本文详细介绍了如何在PHP中实现基于概率的随机抽奖功能。通过实例代码,解释了抽奖逻辑、奖品设置及结果统计的方法。适合PHP开发者参考学习。 ... [详细]
  • 本文对宋代词人朱雍的《迷神引》进行翻译和赏析,深入探讨其词作的艺术特色与情感表达。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 本文介绍如何使用PHP在WordPress中根据分类类别ID或名称获取所有相关文章,提供详细的方法和代码示例。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 本文详细介绍了如何使用 PHP 接收并处理微信支付的回调结果,确保支付通知能够被正确接收和响应。 ... [详细]
  • 小编给大家分享一下如何移除URL中的index.php,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收 ... [详细]
  • 本文详细介绍了如何在PHP中删除数组中的指定元素、第一个元素和最后一个元素,并提供了具体的代码示例和相关函数的使用说明。 ... [详细]
  • 本文详细解析了汉字‘犐’的基本字义及其在古代文献中的应用,旨在为读者提供全面而深入的理解。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 本文详细介绍了在XAMPP环境中如何修改Apache和MySQL的默认端口号,并确保WordPress能够正常访问。同时,提供了针对Go语言社区和Golang开发者的相关建议。 ... [详细]
author-avatar
菁菁da小姐认_194
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有