【发布时间】:2018-12-13 07:03:42
【问题描述】:
我有一个对象数组。首先我对其进行洗牌。我想根据两个键对数组进行排序
"questions": [
{
"id_question": "35",
"id_subject": "63",
"id_question_pattern": "1",
"correct_marks": "1",
"in_correct_marks": "0",
"partial_marks": "0",
"id_question_interpretation": "1",
"id_comprehension": "0",
"is_approved": "13",
"question_image": "",
"solution_image": "",
"subject_name": "subject 1",
"id_sub_subject": "112",
"sub_subject_name": "Sub Subject 2",
"id_topic": "212",
"topic_name": "Sub subject 2 topic 1",
"id_sub_topic": "31",
"sub_topic_name": "subject 1 sub topic 2 Q3",
"id_question_source": "3",
"question_source_name": "Dakshana intimal\t",
"id_difficult_level": "4",
"difficulty_name": "Difficult",
"quesion_pattern_name": "Single Correct Option Type ",
"id_status": "0",
"status_name": "Active",
"last_review_date": "2018-10-31 11:05:14",
"id_review_requirement": "2",
"id_time_for_question": "2",
"answer": "",
"is_answered": "1",
"is_visited": "1",
"mark_for_review": "1",
"is_not_answered": "1",
"id_selected_option": "",
"single_correct_option": "",
"number_of_visted": "0",
"spend_time": "0",
"multiple_correct_option": "",
"matxi_answer": "",
"id_subject_section": "",
"sequence_number": 1
},
{
"id_question": "11",
"id_subject": "6",
"id_question_pattern": "1",
"correct_marks": "2",
"in_correct_marks": "1",
"partial_marks": "0",
"id_question_interpretation": "1",
"id_comprehension": "0",
"is_approved": "13",
"question_image": "",
"solution_image": "",
"subject_name": "Mathematics",
"id_sub_subject": "5",
"sub_subject_name": "Algebra",
"id_topic": "31",
"topic_name": "Mathematical Induction",
"id_sub_topic": "44",
"sub_topic_name": "Mathematical induction 1",
"id_question_source": "3",
"question_source_name": "Dakshana intimal\t",
"id_difficult_level": "3",
"difficulty_name": "Medium",
"quesion_pattern_name": "Single Correct Option Type ",
"id_status": "0",
"status_name": "Active",
"last_review_date": "2018-10-24 16:20:13",
"id_review_requirement": "1",
"id_time_for_question": "3",
"answer": "",
"is_answered": "1",
"is_visited": "1",
"mark_for_review": "1",
"is_not_answered": "1",
"id_selected_option": "",
"single_correct_option": "",
"number_of_visted": "0",
"spend_time": "0",
"multiple_correct_option": "",
"matxi_answer": "",
"id_subject_section": "",
"sequence_number": 2
},
{
"id_question": "25",
"id_subject": "4",
"id_question_pattern": "1",
"correct_marks": "2",
"in_correct_marks": "0",
"partial_marks": "0",
"id_question_interpretation": "2",
"id_comprehension": "0",
"is_approved": "13",
"question_image": "",
"solution_image": "",
"subject_name": "Chemistry",
"id_sub_subject": "1",
"sub_subject_name": "Optics",
"id_topic": "1",
"topic_name": "Thermo dynamics",
"id_sub_topic": "46",
"sub_topic_name": "sub topic thermodyn chemistry",
"id_question_source": "3",
"question_source_name": "Dakshana intimal\t",
"id_difficult_level": "1",
"difficulty_name": "Very Easy",
"quesion_pattern_name": "Single Correct Option Type ",
"id_status": "0",
"status_name": "Active",
"last_review_date": "2018-10-26 12:05:28",
"id_review_requirement": "1",
"id_time_for_question": "1",
"answer": "",
"is_answered": "1",
"is_visited": "1",
"mark_for_review": "1",
"is_not_answered": "1",
"id_selected_option": "",
"single_correct_option": "",
"number_of_visted": "0",
"spend_time": "0",
"multiple_correct_option": "",
"matxi_answer": "",
"id_subject_section": "",
"sequence_number": 3
},
{
"id_question": "6",
"id_subject": "4",
"id_question_pattern": "1",
"correct_marks": "2",
"in_correct_marks": "0",
"partial_marks": "0",
"id_question_interpretation": "2",
"id_comprehension": "0",
"is_approved": "13",
"question_image": "",
"solution_image": "",
"subject_name": "Chemistry",
"id_sub_subject": "1",
"sub_subject_name": "Optics",
"id_topic": "1",
"topic_name": "Thermo dynamics",
"id_sub_topic": "46",
"sub_topic_name": "sub topic thermodyn chemistry",
"id_question_source": "3",
"question_source_name": "Dakshana intimal\t",
"id_difficult_level": "2",
"difficulty_name": "Easy",
"quesion_pattern_name": "Single Correct Option Type ",
"id_status": "0",
"status_name": "Active",
"last_review_date": "2018-10-24 16:15:48",
"id_review_requirement": "1",
"id_time_for_question": "2",
"answer": "",
"is_answered": "1",
"is_visited": "1",
"mark_for_review": "1",
"is_not_answered": "1",
"id_selected_option": "",
"single_correct_option": "",
"number_of_visted": "0",
"spend_time": "0",
"multiple_correct_option": "",
"matxi_answer": "",
"id_subject_section": "",
"sequence_number": 4
}
]
我想每次都将id_question 更改为in_subject。
foreach ($questions_array as $key => $row){
$subject_sort[$key] = $row['id_subject'];
$question_pattern_sort[$key] = $row['id_question_pattern'];
}
array_multisort($question_pattern_sort, SORT_ASC, $subject_sort, SORT_ASC, $questions_array);
【问题讨论】:
-
请尽量减少您的问题,只包含相关的样本数据。您的问题将与每个子数组中的识别元素和几个随机元素一样清楚。在每个子数组中列出数十个元素是纯粹的页面膨胀,使您的问题不那么有吸引力。然后你应该包含你想要的排序后输出,以便清楚你当前的代码是如何不工作的以及你希望实现什么。