我尝试了很多技巧和谷歌搜索来解决这个问题,但无法获得有用的东西。
基本上以下是关联数组中元素的内容(候选人的考试结果,我必须给候选人排名),其中包含几个这样的元素。
我想根据键按升序对数组进行排序,[total_obtained_marks]
即具有更多分数的候选人将排在第一位,
然后如果找到相同的值,我必须根据键按降序对数组进行排序,[no_wrong_answers]
即更少。的错误答案。
即使排名保持不变,我也必须按键的升序对数组进行排序,[test_user_time_used]
即使用时间较少的候选人将获得更高的排名。
即使这样排名是相同的,然后我必须[user_first_name]
按升序对键上的数组进行排序,即按字母顺序。
完成所有这些工作后,我可以获得排序良好的数组,该数组将为候选人提供适当的排名。
这个未排序数组的另一件事是无法从数据库中对实际数据进行排序,因此无法使用数据库函数。
无论必须做什么都将在这个未排序的数组本身上。请帮我解决这个问题。提前致谢。关联数组的名称是$test_result
。
Array
(
[14ddcea23dfc46bed4f2a15da7901c51] => Array
(
[test_user_data] => Array
(
[test_user_id] => 6297
[test_user_user_id] => 14ddcea23dfc46bed4f2a15da7901c51
[test_user_test_id] => 348
[user_first_name] => Shahin
[user_last_name] => Khan
[user_name] => Shahin Khan
[test_user_status] => present
[test_user_time_used] => 00:00:00 Hr
[test_user_start_time] => 1356514472
[test_duration] => 4500
[test_name] => NEET: Electrostatics 1
[test_mode] => non-schedule
[test_end_time] => 0
[user_status] => Attempted
)
[test_question_data] => Array
(
[73101] => Array
(
[question_text] => If a glass rod is rubbed with silk it acquires a positive charge because :
[question_file] =>
[correct_ans_text] => electrons are removed from it
[correct_ans_file] =>
[correct_ans_id] => 291299
[user_marked_ans_text] => electrons are removed from it
[user_marked_ans_file] =>
[user_marked_ans_id] => 291299
)
[77101] => Array
(
[question_text] => In a charged capacitor , the energy is stored in :
[question_file] =>
[correct_ans_text] => the field between the plates
[correct_ans_file] =>
[correct_ans_id] => 307468
[user_marked_ans_text] => the field between the plates
[user_marked_ans_file] =>
[user_marked_ans_id] => 307468
)
[75069] => Array
(
[question_text] => ABC is right-angle triangle with sides AB = 3 cm, BC = 4 cm, AC = 5 cm, charges 15, 12 and -20 respectively. Magnitude of the force experienced by the charge at B in dynes is :<br>
<img alt="\"\"" src="\"http://www.entranceprime.com/upload_media/questions/original/1338456478_10.jpg\"" height="\"169\"" width="\"228\"">
[question_file] =>
[correct_ans_text] => 25
[correct_ans_file] =>
[correct_ans_id] => 299192
[user_marked_ans_text] => 25
[user_marked_ans_file] =>
[user_marked_ans_id] => 299192
)
[77526] => Array
(
[question_text] => The work done in increasing the coltage across the plates of a capacitor from 5 V to 10 V is W. The work done in increasing the voltage from 10 V to 15 V will be :
[question_file] =>
[correct_ans_text] => W
[correct_ans_file] =>
[correct_ans_id] => 578079
[user_marked_ans_text] => W
[user_marked_ans_file] =>
[user_marked_ans_id] => 578079
)
[73190] => Array
(
[question_text] => Select the corrent alternative :
[question_file] =>
[correct_ans_text] => Charge cannot exist without matter although matter can exist without charge
[correct_ans_file] =>
[correct_ans_id] => 291651
[user_marked_ans_text] => Charge cannot exist without matter although matter can exist without charge
[user_marked_ans_file] =>
[user_marked_ans_id] => 291651
)
[127452] => Array
(
[question_text] => Capacity of a conductor depends upon
[question_file] =>
[correct_ans_text] => size of conductor <br>
[correct_ans_file] =>
[correct_ans_id] => 510229
[user_marked_ans_text] => all of these<br>
[user_marked_ans_file] =>
[user_marked_ans_id] => 510232
)
[127503] => Array
(
[question_text] => A charged spherical shell does not produce an electric field at any
[question_file] =>
[correct_ans_text] => interior point <br>
[correct_ans_file] =>
[correct_ans_id] => 510425
[user_marked_ans_text] => interior point <br>
[user_marked_ans_file] =>
[user_marked_ans_id] => 510425
)
[75631] => Array
(
[question_text] => A solid conducting sphere having a charge Q is surrounded by an uncharged concentric conducting hollow spherical shell. Let the potential difference between the surface of the solid sphere and that of the outer surface of the hollow shell be V . If the shell is now given a charge -3q , the new potential difference between the same two surface is :
[question_file] =>
[correct_ans_text] => V
[correct_ans_file] =>
[correct_ans_id] => 301488
[user_marked_ans_text] =>
[user_marked_ans_file] =>
[user_marked_ans_id] =>
)
)
[subject_wise_result] => Array
(
[5] => Array
(
[subject_id] => 5
[subject_name] => 12 PHYSICS
[no_correct_answers] => 6
[no_wrong_answers] => 1
[no_skipped_questions] => 38
[total_obtained_marks] => 23
[total_questions] => 45
[total_percent] => 100 %
[gain_percent] => 12.78 %
)
)
[test_result_data] => Array
(
[no_correct_answers] => 6
[no_wrong_answers] => 1
[no_skipped_questions] => 38
[total_obtained_marks] => 23
)
)
)