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

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

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

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

php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用

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

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

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

在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函数的基本用法,示例如下:

登录后复制

输出结果:

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

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

登录后复制

输出结果:

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

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

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

登录后复制

输出结果:

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

上述中我们通过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);
?>登录后复制

输出结果:

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

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

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

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

php 怎么只要数组的值不要键

原创2021-11-08 09:42:441310 + php学习QQ群(点击入群)

php只要数组值不要键的实现方法:1、创建一个PHP示例文件;2、定义一个数组;3、通过“while ($fruit = current($fruits)) {…]”方法获取数组的值并且不要键即可。

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

php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

php 怎么只要数组的值不要键?

获取当前数组值 current()

current()函数返回数组中当前指针所在位置的数组值。其形式如下:

mixed current(array array)登录后复制

下面修改前面的例子,这一次我们要获取数组值:

$fruits = array(“apple”=>”red”, “banana”=>”yellow”);
while ($fruit = current($fruits)) {
printf(“%s “, $fruit);
next($fruits);
}
// red
// yellow登录后复制

相关介绍:current() 函数返回数组中的当前元素的值。

每个数组中都有一个内部的指针指向它的"当前"元素,初始指向插入到数组中的第一个元素。

提示:该函数不会移动数组内部指针。

相关的方法:

end() – 将内部指针指向数组中的最后一个元素,并输出。

next() – 将内部指针指向数组中的下一个元素,并输出。

prev() – 将内部指针指向数组中的上一个元素,并输出。

reset() – 将内部指针指向数组中的第一个元素,并输出。

each() – 返回当前元素的键名和键值,并将内部指针向前移动。

以上就是php 怎么只要数组的值不要键的详细内容,更多请关注钦钦技术栈其它相关文章!

转载至:php中文网【www.php.cn】

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/26665/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年 9月 27日 8:47:41
下一篇 2022年 9月 27日 8:49:01

软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!