首页 » SEO优化 » php中sort技巧_假如你不能自如排列数组那就只好变秃了PHP中sort系列

php中sort技巧_假如你不能自如排列数组那就只好变秃了PHP中sort系列

访客 2024-11-22 0

扫一扫用手机浏览

文章目录 [+]

但是如果你只知道一个sort(),不知道 asort(),ksort(),usort(),那么你也只能长点腋毛了。


sort()

大略干脆的小函数,一用,刷!
你数组里的值就乖乖从小到大排好!
如果你不知道它,请拜会我第一句话的疑问。
但是现在恭喜你,你知道了,看栗子完事儿:

php中sort技巧_假如你不能自如排列数组那就只好变秃了PHP中sort系列

$小数组=['3只松鼠','2我','8奥巴马','6川普']; //一个普通的小数组

php中sort技巧_假如你不能自如排列数组那就只好变秃了PHP中sort系列
(图片来自网络侵删)

sort($小数组); //普通地被sort用了一下

var_dump($小数组); //输出,看到谁是老几了吗?

谁前谁后如你所料:

一个你必须该当懂的排序小坑

上边要被排的成员们,如果编号里边一位数与两位数都有,比如:

$小数组=['3只松鼠','2我','8奥巴马','6川普','33岁的御姐']; //多了位御姐

33比奥巴马还要大啊,我们用sort排个序看看吧:

什妈?为什么33会排在2和3之间??这确定是个坑。

缘故原由是它会先比较数值的第一位字符,再比较第二位字符。
懂了吗?没懂请看:

第一位字符都是数字:2 < 3 ==3 <6 <8

把稳中间两个3本来是并列的,以是再决牝牡只好用第二个字符了: 3 < 只

御姐的第二个字符是3,松鼠的第个二个字符是“只”

排序小知道,字库的奥秘

有时我们排一下中文,创造他的规率彷佛是按拼音,可有时又不是,WHY什么?

见告你少年,由于它是按笔墨在字库里陈设的顺序排列的。
在字库里的汉字虽然大致和拼音有关,可不绝对。

比如上边那个例子里,是由于在字库里边,数字小于英文,英文小于汉字。
以是3比“只”小。

对了,要办理上一个例子那种缺点,把稳让你的数字位数保持同等就好排序了!
一位数前边加0。

02我<03只松鼠<06川普<08奥巴马<33御姐

奥巴马终于站到了御姐前边!

sort()前边加个r

便是反着排,从大到小咯:rsort()

r便是英文reverse,“反过来”的缩写,把稳所有的排序都有这个小秘密,有加个r的版本。

联合数组难搞?asort()上

在大数据的时期,连数组里的值我们也要起个名字,叫键名是不。
要不数据不好定位啊。

这种数组有个牛逼的官名儿:联合数组。

有个名字便是联合数组了!

比如:$小数组=['S级'=>'3只松鼠','A级'=>'2我','E级'=>'8奥巴马','M级'=>'6川普','D杯'=>'33岁的御姐']

看我们的数组成员有了名字,权当我对它们的评级。

可是sort往后我创造名字都没了!


又变成了0123……的序号!

不要焦急,少年,只要用asort(),你的数组排完了还是那个联合数组!

(小秘密:a便是联合的英文缩写,但我不见告你是哪个单词!
)

把稳加R的地方

asort()的反排是arsort()

把稳,r是加在sort之前的,不是a之前。
所有的r都紧跟sort,OK?

我要按键名排序!
ksort()

k,便是key,便是键(不是贱!

以是如果你想把数组成员按上边的键名称(我那个A到D的分级)来排序,见告我,用ksort还是asort?

其余反向排键名称的函数,该当是rksort还是krsort?

看好你!

我想按自己的想法排列我的小弟们!
usort()

U便是you,便是你!
你说了算。

谁在前?

这次我认为,名字越长的才是爸爸,以是名字越长越往前,那么我们就要写个函数。

在函数里我们只比较两个值,怎么比较我们定逻辑,然后让usort()调用就好。

函数里,返回负数意味着让前边的值和后边的值比起来时,前边的往前。
而是正数则今后排。

把稳看例子里的注释,哥们我写累了,实在和上边比就多了一个函数:

$小数组=['3只松鼠','2我','8奥巴马','6川普','33岁的御姐']; //一个普通的小数组

function longNameIsFather($a,$b){

$lengthA=strlen($a); //第一个数值有几个字儿

$lengthB=strlen($b); //第二个数值有几个字儿

if($lengthA>$lengthB) //来比比谁多

return -1; //A多那就让A往前放,返回负数

else

return 1; //A少那让A今后放,正数是后边

}

usort($小数组,\"大众longNameIsFather\公众); 第二个参数用字符串写下你要调的函数

var_dump($小数组); //输出,看到谁是father了吗?

当作果,谁是爸爸?:

我彷佛弄反了!

usort()有kusort()

便是不比值,比键啊。
要记住这个,就要理解一个道理,这个天下上,有时候便是要比贱。

其余usort和kusort没有r。
么么哒。

设想一下你不知道以上sort系列,我们处理数据时要不要掉头发,嗯???

你的朋友们不知道,要不要掉!
嗯???

现在,点赞,急速!

然后转给他们看

记住,对技能的精益求精,是一种极致(GEEK)的精神!



爱我。

想听什么,每一个哀求我都记录在案的,在评论见告我!

标签:

相关文章

语言枚举类型,探索人类语言多样性的奥秘

语言是人类交流的重要工具,也是人类文明发展的重要标志。随着全球化进程的不断推进,各种语言枚举类型应运而生。本文将从语言枚举类型的定...

SEO优化 2024-12-29 阅读1 评论0

语言栏消失,科技变革下的挑战与机遇

近年来,随着科技的飞速发展,智能手机、平板电脑等移动设备的普及,语言栏这一功能已经成为了我们日常生活中不可或缺的一部分。近期有消息...

SEO优化 2024-12-29 阅读1 评论0

语言混合现象的多元魅力与挑战

语言混合作为一种跨文化交流的现象,逐渐成为世界范围内语言学研究的热点。它不仅丰富了语言的多样性,也反映了全球化背景下人类社会的交流...

SEO优化 2024-12-29 阅读1 评论0

语言是思想的载体,介绍语言与思想的关系

在人类文明的进程中,语言一直扮演着至关重要的角色。它不仅是人们沟通交流的工具,更是承载着人类思想的载体。自古以来,人们就深知语言与...

SEO优化 2024-12-29 阅读1 评论0