你还在为如何使用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基础 第四章 字典(1)

    通过名称来访问其各个值的数据结构,映射(mapping). 字典,是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下.(键,可能是数.字符串.元组). 1.1 字典由 键 及其相 ...

  2. Date及DateFormat用法

    Date 与DateFormat之间的转化String <————>Date Date与Calendar 之间的转化Long<————>Date 日历小程序 Scanner i ...

  3. Invalid default value for 'time'

    原因:安装的MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00",出现异常:Invalid default value for 'time' ...

  4. 怎样理解document的快捷方式属性

    所谓 "快捷方式属性" , 也就是说它们不是必须的, 只是在操作dom时可以更为方便地获取. 主要有下面8个: 1. 获取当前文档所属的window对象: document.def ...

  5. mac电脑开机键盘和鼠标失灵

    今天早上电脑刚开机发现,触摸板动不了了,过了一会屏幕上就出现蓝牙键盘连接不了的东东,马上意识到键盘也输入不了了.本来还以为得去守候维修了,百度了下解决方法,好在暂时解决了.亲测有效的两个方法(早上晚上 ...

  6. git 公钥的使用

    码云 https://gitee.com/ ,之前在教程视频中看到使用 码云  今天自己也撸了一把.第一次使用.打开官方网站看到免费开通企业版,就点了这个原本以为需要填写很多资料,实际操作下来,就一个 ...

  7. fish redux 个人理解

    fish redux 理解 fish redux是什么 Fish Redux 是一个基于 Redux 数据管理的组装式 flutter 应用框架, 它特别适用于构建中大型的复杂应用. 它的特点是配置式 ...

  8. 【转】CSS之Background-Position left right center top bottom属性

    background-position:left top; 背景图片的左上角和容器(container)的左上角对齐,超出的部分隐藏. 等同于 background-position:0,0; 也等同 ...

  9. vue项目js实现图片放大镜功能

    效果图:   我写的是vue的组件形式,方便复用,图片的宽高,缩放的比例可以自己定义 magnifier.vue <template> <div class="magnif ...

  10. Python之IDE工具下载安装及注册详解及创建项目

    这篇文章很适合刚接触python语言的或者没有语言基础的同学参考: 目录: 一.IDE工具下载安装 二.IDE注册方法 三.使用IDE 开发工具使用创建项目 一.下载并安装, IntelliJ IDE ...