2016-03-13 3 views
-2

Так что у меня этот массивСортировка массивов в PHP. Мне нужно написать собственные функции asort() и ksort()?

$employee_salary = array("Peter"=>35000, "Ben"=>25000, "Joe"=>48000); 

и мне нужно для сортировки массива: 1) по стоимости, по возрастанию 2) по ключу, возрастающем порядке.

Мне не разрешено использовать функции asort и ksort, поэтому я не знаю, как это сделать. Любые идеи, пожалуйста? Спасибо!

+0

Прочитайте, как сортируются работы: – JimL

+0

@ K.Sm. показать, как должен выглядеть ожидаемый результат – RomanPerekhrest

+0

@ RyanVincent это очень распространенное назначение класса программирования :) – JimL

ответ

0

¿Не можете ли вы использовать какие-либо методы сортировки php, такие как usort() или asort()?

Если да: https://joshtronic.com/2013/09/23/sorting-associative-array-specific-key/

Если нет: да, вы должны сделать это вручную, я предполагаю, с array_walk() или что-то вроде этого.

0

Я полагаю, что это для академической задачи.

петли Foreach позволяет работать с ключами и значениями, как:

foreach($employee_salary as $employee => $salary){ 
    //do you comparison here, your manual sorting. 
    //You could create 2 arrays here to store the value sort and the name sort. 
} 

Теперь на StackOverflow вы должны дать более конкретный ответ с визуальным кода, но в данном случае, это означало бы, я упражнение для вас. Который я не буду :)

+0

Ха-ха, спасибо, я не ожидал, что кто-нибудь здесь сделает мою домашнюю работу для меня в любом случае. Несколько советов в порядке! –

+0

Теперь ваше лучшее предположение пойдет и посмотрит, как работают алгоритмы сортировки, и сделайте свое, основанное на них. Алгоритм сортировки - это супер весело, попробуйте добавить ваше прикосновение, чтобы сделать как можно более оптимизированным. Кроме того, для задачи, в цикле foreach, попробуйте сортировать обе записи, которые вы должны сортировать в одно и то же время. Получите дополнительные очки! –

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