随机化对象数组的一部分 [英] randomise part of an object array

查看:108
本文介绍了随机化对象数组的一部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个对象数组.首先我将其改组.我想基于两个键对数组进行排序

I have an array of object .First I shuffle it.I want to sort array based on two key

"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
    }       

  ]

我想每次用in_subject更改id_question.

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);

推荐答案

如果我正确理解了您的问题,您可以做的是遍历数组并为数组的每个元素设置id_question = id_subject.

If I understand your question correctly, what you can do is loop through your array and set id_question = id_subject for each element of the array.

像这样:

foreach($questions_array['questions'] as $key=>$value){

  $questions_array['questions'][$key]['id_question'] = $questions_array['questions'][$key]['id_subject'];  

}

这篇关于随机化对象数组的一部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆