我正在查看我的一些旧工作,发现 asort 函数可以完美地用于我需要的一些用途,尽管我尝试了一种截然不同且冗长的方式。
所以我的问题是,排序时 asort 如何保持关联?我认为可以按键或按值对数组进行排序,是否有第三个排序枢轴?
“第三个支点”是内存/阵列中的实际位置。
在以下两个数组上执行 foreach 时,您会清楚地看到它,它们相同,但顺序不同:
$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}";
对这两个数组执行默认排序将导致两种情况:
$x1=array('bbb'=>'bbb','ccc'=>'ccc','mmm'=>'mmm');
$x2=array('bbb'=>'bbb','ccc'=>'ccc','mmm'=>'mmm');