PHP多维数组排序


PHP multi-dimentional array sort

我有一个想要排序的数组,这应该很容易,只是我以一种奇怪的方式(出于不同的原因)构建数组,这使得排序变得困难

$arrayCEO =array(
'companyName' => array(0=>'name1', 1=>'name2'),
'link' => array (0=>'link1', 1=>'link2'),
'isin' => array (0=>'isin1', 1=>'isin2'),
'mktCap' => array (0=>'mktCap1', 1=>'mktCap2'),
'nbShares' => array (0=>'nbShares1', 1=>'nbShares2'),
'amount' => array (0=>'10', 1=>'20'));

可以在不破坏其他数组顺序的情况下按"数量"排序吗?你建议我重写代码来构建这样的数组吗:

$arrayCEO =array(
0 => array ('name' => 'name1', 'link' => 'link1', 'isin' => 'isin1', …),
1 => array ('name' => 'name2', 'link' => 'link2', 'isin' => 'isin2', …));
2 => ...

我知道这个排序很简单,但重写我的代码需要做很多工作。

谢谢,多里安

将数组重写为所描述的更传统的格式会更有意义-(最好以递减幅度的"Root>rows>fields"来组织,而不是"Root>fields>rows")

如果你不想改变,你可以使用usort函数并滚动你自己的排序方法,但要让它发挥得很好可能需要一些工作。