У меня есть массив как этотСортировка ассоциативного массива по конкретным ключевым оседающей в PHP
array('p1'=>array('a'=>0,'b'=>'p1'),'p2'=>array('a'=>4,'b'=>'p2'),'p3'=>array('a'=>1,'b'=>'p3'))
, и я хочу, чтобы отсортировать данные по ключевым a
это так выглядит, как этот
array('p2'=>array('a'=>4,'b'=>'p2'),'p3'=>array('a'=>1,'b'=>'p3'),'p1'=>array('a'=>0,'b'=>'p1'))
Это ассоциативный многомерный массив, и я хочу, чтобы массивы второго уровня сортировались по одному конкретному ключу (в примере a
)
Я нашел функцию uksort
и передал эту функцию
function sortByA($a,$b){
if($a['a'] < $b['a']) return -1;
return 1;
}
, но он говорит сообщение: Illegal строка смещения 'количество'
Можете ли вы помочь?
У вас нет свойства «count» в ваших массивах, следовательно, ошибка. Я думаю, вы хотите что-то посчитать, cso используйте 'count()' вместо этого. –
Разве вы не имеете в виду '' a'' вместо '' count''? – L3viathan
При копировании кода вам, возможно, придется отрегулировать некоторые вещи, чтобы заставить его работать с вашим кодом/данными. – AbraCadaver