你还在为如何使用PHP排序字母+数字的数组而烦恼吗?

今天有个小伙伴在群里问:

如何将一个key为字母+数字的数组按升序排序呢?

举个例子:

$test = [
'n1' => 22423,
'n10' => 22423,
'n2' => 'werwerw',
'n3' => 22423,
'n4' => 22423,
'n5' => 22423,
'n21' => 22423,
'n11' => 22423,
];

希望将它排序成这样子:

$test = [
'n1' => 22423,
'n2' => 'werwerw',
'n3' => 22423,
'n4' => 22423,
'n5' => 22423,
'n10' => 22423,
'n11' => 22423,
'n21' => 22423,
]

PHP数组函数帮到你

$test = [
'n1' => 22423,
'n10' => 22423,
'n2' => 'werwerw',
'n3' => 22423,
'n4' => 22423,
'n5' => 22423,
'n21' => 22423,
'n11' => 22423,
];
ksort($test, SORT_NATURAL);
var_dump($test);

得到的结果:

array (size=8)
'n1' => int 22423
'n2' => string 'werwerw' (length=7)
'n3' => int 22423
'n4' => int 22423
'n5' => int 22423
'n10' => int 22423
'n11' => int 22423
'n21' => int 22423

那么这个函数的意思是什么呢?

定义和用法

ksort() 函数对关联数组按照键名进行升序排序。

语法
ksort(array,sortingtype);
参数 描述
array 必需。规定要进行排序的数组。
sortingtype 可选。规定如何排列数组的元素/项目。可能的值:
0 = SORT_REGULAR -默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。
1 = SORT_NUMERIC - 把每一项作为数字来处理。
2 = SORT_STRING - 把每一项作为字符串来处理。
3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
说明

ksort() 函数按照键名对数组排序,为数组值保留原来的键。

可选的第二个参数包含附加的排序标志。

若成功,则返回 TRUE,否则返回 FALSE。

提示

提示:请使用 krsort() 函数对关联数组按照键名进行降序排序。

提示:请使用 asort() 函数对关联数组按照键值进行升序排序。

具体可看: 数组函数

如何使用PHP排序key为字母+数字的数组的更多相关文章

  1. php:如何使用PHP排序, key为字母+数字的数组(多维数组)

    你还在为如何使用PHP排序字母+数字的数组而烦恼吗? 今天有个小伙伴在群里问:如何将一个key为字母+数字的数组按升序排序呢? 举个例子: $test = [ 'n1' => 22423, 'n ...

  2. 对文本行进行排序,新增-d(目录排序),只对字母数字空格排序(TCPL 练习5-16)

    文本行的排序用到了命令行参数以及多级指针,在要求只对字母数字空格进行排序时,关键的问题点是兼容-f命令参数,也就是排序的同时忽略大小写.由于在之前的练习中,我将忽略大小写的比较方法重新写了一个函数tr ...

  3. php+正则将字符串中的字母数字和中文分割

    原文出处 如果一段字符串中出现字母数字还有中文混排的情况,怎么才能将他们区分开呢,经过一番思索,得到了如下代码,分享给大家 如:$str="php如何将字 符串中322的字母数字sf f45 ...

  4. oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?

    Oracle 语句中“||”代表什么啊? oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号? 排序的话,用order by来处理即可.比如:cola123a234b999b335s ...

  5. 字母数字、字母、汉字验证码 (java)

    原文:http://blog.csdn.net/qh_java/article/details/49854477 一.字母数字,字母,汉字验证码的生成代码 1.字母数字验证码: package com ...

  6. 007-TreeMap、Map和Bean互转、BeanUtils.copyProperties(A,B)拷贝、URL编码解码、字符串补齐,随机字母数字串

    一.转换 1.1.TreeMap 有序Map 无序有序转换 使用默认构造方法: public TreeMap(Map<? extends K, ? extends V> m) 1.2.Ma ...

  7. 浅谈无字母数字构造webshell

    0x00 问题 <?php include 'flag.php'; if(isset($_GET['code'])){ $code = $_GET['code']; if(strlen($cod ...

  8. Suctf知识记录&&PHP代码审计,无字母数字webshell&&open_basedir绕过&&waf+idna+pythonssrf+nginx

    Checkin .user.ini构成php后门利用,设置auto_prepend_file=01.jpg,自动在文件前包含了01.jpg,利用.user.ini和图片马实现文件包含+图片马的利用. ...

  9. js 正则 以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“

    js  正则  以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“ var reg = /^[a-zA-Z]{1}(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d_@ ...

随机推荐

  1. 【Python基础】10_Python中的字典

    1.字典的定义 和列表的区别 列表是 有序 对象的集合 字典是 无序 对象的集合 字典用 {} 定义 键 key 是索引 值 value 是数据 键 和 值 之间用 :分割 键 必须是唯一的 值 可以 ...

  2. vue插件总结——总有你能用上的插件

    UI组件 框架 element - 饿了么出品的Vue2的web UI工具套件 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开源 UI 组件库 Keen-UI - ...

  3. go环境变量配置 (GOROOT和GOPATH)的区别和含义

    GOROOT就是go的安装路径 在~/.bash_profile中添加下面语句: GOROOT=/usr/local/go export GOROOT 当然, 要执行go命令和go工具, 就要配置go ...

  4. C++反汇编第五讲,认识C++中的Try catch语法,以及在反汇编中还原

    我们以前讲SEH异常处理的时候已经说过了,C++中的Try catch语法只不过是对SEH做了一个封装. 如果不懂SEH异常处理,请点击博客链接熟悉一下,当然如果不想知道,也可以直接往下看.因为异常处 ...

  5. IOI2020只因训队作业胡做

    w a r n i n g ! 意 识 流 警 告 !!1 不想一个个发了,干脆直接发个合集得了qwq 感觉这辈子都做不完了\(Q\omega Q\) CF516D 写过题解了 CF505E 写过题解 ...

  6. webpack4快速上手

    1.在项目根目录cnpm init -y初始化.生成package.json文件 2.在项目里面使用cnpm安装webpack 3.需要在根目录下新建webpack.config.js文件(在其里面配 ...

  7. ::selection伪元素改变文本选中颜色

    在看张鑫旭大神的文章,刚刚发现了这个,感觉应该后面有用,先存起来. 效果如下: 代码如下: <!DOCTYPE html> <html> <head> <me ...

  8. 2.第一个MyBatis程序

    1.导入jar包 2.定义实体类 3.创建对应的表 4.定义Dao接口 public interface StudentDAO { public void saveStudent(Student s) ...

  9. List集合复制

    方法一: public static void main(String[] args) { // TODO Auto-generated method stub List<String> ...

  10. Delphi 定义线程对象