首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asort是如何工作的?

asort是如何工作的?
EN

Stack Overflow用户
提问于 2011-02-28 09:07:18
回答 2查看 993关注 0票数 3

我看了看我的一些旧作品,发现asort函数对于我需要的一些用途来说是完美的,尽管我尝试了一种非常不同的、冗长的方法。

所以我的问题是,在排序时asort是如何保持关联的呢?我认为数组可以按键或值排序,还有第三个排序轴吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-28 09:11:48

“第三个枢轴”是内存/数组中的实际位置。

在以下两个数组上执行foreach时,您将清楚地看到这一点,这两个数组相同,但顺序不同:

代码语言:javascript
复制
$x1=array('mmm'=>'mmm','bbb'=>'bbb','ccc'=>'ccc');
$x2=array('ccc'=>'ccc','bbb'=>'bbb','mmm'=>'mmm');

foreach($x1 as $k=>$v) echo "{$k} {$v}";
foreach($x2 as $k=>$v) echo "{$k} {$v}";

在这两个数组上执行默认排序将导致以下两种情况:

代码语言:javascript
复制
$x1=array('bbb'=>'bbb','ccc'=>'ccc','mmm'=>'mmm');
$x2=array('bbb'=>'bbb','ccc'=>'ccc','mmm'=>'mmm');
票数 1
EN

Stack Overflow用户

发布于 2011-02-28 18:25:22

From the manual

asort -对数组进行排序并维护索引关联

所以,举个例子:

  • Asort只会以升序的方式按排序,保持index=>value的值相同,但以降序的方式排序。

这本手册在 here上写得很清楚。

基本函数仅按键或值排序,但有以下选项:

  • index->value关联是否保持
  • 是否使用自定义函数进行排序
  • Asc或Desc
  • 区分大小写或不区分
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5137289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档