2012-02-19 3 views
2

У меня есть массив, который я бы хотел отсортировать, это должно быть легко, за исключением того, что я строю свой массив в странных манерах (по разным причинам), которые затрудняют сортировку. Вот мой массив:PHP многомерная сортировка массива

$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 => ... 

Я знаю, что это один будет просто разобраться, но это много работы, чтобы переписать свой кусок кода.

Спасибо, Дориан

ответ

1

Это делает намного больше смысла переписывать ваши массивы для хранения в более обычном формате, описанном - (Это всегда лучше организовать вещи в уменьшении величины «Корневые> строки> поля» вместо полей 'Root>> rows')

Если вы не хотите менять, возможно, вы можете использовать функцию usort и катить свой собственный метод сортировки, но это может быть немного работать, чтобы заставить его играть красиво.

+0

Спасибо за ваш ответ. Вероятно, я переписал бы свои массивы, потому что, как вы сказали, найти способ сортировки моего был бы столь же трудоемким, как и переписывание. –

Смежные вопросы