0

0

怎样解决PHP中数组的排序和打乱问题?

WBOY

WBOY

发布时间:2021-11-08 17:54:05

|

5308人浏览过

|

来源于php中文网

原创

在之前的文章《怎样获取数组中的键名?怎样转换键名的大小写?》中详细的介绍了php中键名操作的获取键名与转换键名大小写的相关操作,本篇文章我们一起来看一下php中怎样对多个数组进行排序,希望对大家有帮助!

怎样解决PHP中数组的排序和打乱问题?

在上一篇文章中我们了解了想要获取数组中所有的元素名需要通过array_keys函数来实现,想要转换数组键名的大小写需要通过array_change_key_case函数来进行操作。这都是属于数组操作的一部分,我们之前在《怎样去给PHP数组进行排序(图文详解)》中简单的介绍了一些。

在PHP中怎样才能对多个数组进行排序?有怎样随机的对数组进行随机排序呢?在PHP中有内置的array_multisort函数与shuffle函数能够对数组进行升序排列和随机排序,下面我们一起来看一下吧。

array_multisort函数-对多个数组进行排序

立即学习PHP免费学习笔记(深入)”;

在PHP中array_multisort函数能够输入一个或者多个数组,函数会先给第一个数组排序,然后接着对下一组进行排序。array_multisort函数的基本语法格式如下:

array_multisort(array1,sorting order,sorting type,array2,array3...)

其中需要注意的是:

参数array1是必须要有的,是要进行排序的数组,参数array2、3是可选的,也是要进行排序的数组。参数sorting order也是一个可选的参数,在默认的情况下参数表示的是SORT_ASC,表示的是数组排序是升序,当单数sorting order为SORT_DESC的时候,表示的是按降序排列。

参数sorting type也是一个可选参数,默认情况下的值为SORT_REGULAR表示的是,数组排序按照常规顺序排列。当参数的值为SORT_NUMERIC 的时候表示的是将数组中的元素当做数字来进行处理。当参数的值为SORT_STRING表示的是将数组中的元素当做字符串来进行处理。当参数的值为SORT_LOCALE_STRING表示的是一颗通过setlocale函数来进行更改的作为字符串处理。当参数的值为SORT_NATURAL表示的是类似 natsort() 的自然排序。

使用array_multisort函数对字符串进行排序,键名为字符串的元素,键名会保留,但是键名为数字的会被重新索引。这个索引规则还是一样的。

如果排序成功的话,返回的结果是true;如果排序失败,返回的结果是false

下面我们通过示例来看一下array_multisort函数的基本用法,示例如下:

';
print_r($a2);
?>

输出结果:

1108.18.png

上述示例中,返回的结果是进行了升序的排序,下面我们来看一下,当两个值相同的时候,输出结果会有什么变化,示例如下:

';
print_r($a2);
?>

输出结果:

1108.19.png

行业贸易网站管理系统 2007 Beta 1
行业贸易网站管理系统 2007 Beta 1

1.修正BUG站用资源问题,优化程序2.增加关键词搜索3.修改报价4.修正BUG 水印问题5.修改上传方式6.彻底整合论坛,实现一站通7.彻底解决群发垃圾信息问题。注册会员等发垃圾邮件7.彻底解决数据库安全9.修改交易方式.增加网站担保,和直接交易两中10.全站可选生成html.和单独新闻生成html(需要装组建)11. 网站有10中颜色选择适合不同的行业不同的颜色12.修改竞价格排名方式13.修

下载

上述示例中,当数组中的两个元素都相同的时候,并不会被覆盖,而是键名不同重新排序。

下面我们在来看一个综合的实例,当我们合并两个数组并且按照降序进行排列,输出结果会发生什么变化,示例如下:

输出结果:

1108.22.png

上述中我们通过array_multisort函数能够对数组元素进行排序,下面我们来介绍一下shuffle函数。它能够将数组打乱。

shuffle函数-重新排序数组

在PHP中既然有函数能够将数组元素进行有序的排序,那同样的也有办法能够将数组进行重新排序,也就是将数组打乱。shuffle函数的基本语法结构如下:

shuffle(array)

其中参数array就是需要进行重新排序的数组,shuffle() 函数把数组中的元素按随机顺序重新排列。数组中原来的键名会被删除,新的数组会有新的键名。

函数如果排序成功,返回的结果是true,如果失败,返回的结果是flase

下面我们通过示例来看一下shuffle函数的使用,示例如下:

"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>

输出结果:

1108.20.png

1108.21.png

上述示例中,通过shuffle函数将数组进行重新排列,并且每执行一次数组的排列顺序就会改变。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2012

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1334

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1236

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

948

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1402

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1231

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1440

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1303

2023.11.13

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

74

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号