sevirinov
@sevirinov
Web Developer

Как сделать из одмерного массива многомерный?

Есть массив данных полученный с фронта:
Array
(
    [test_name] => Первый тест
    [project_id] => 5
    [question_text_1] => Первый вопрос
    [answer_text_1_1] => Первый ответ
    [answer_text_1_2] => Второй ответ
    [correct_answer_1_2] => 1
    [question_text_2] => Второй вопрос
    [answer_text_2_1] => Первый вариант
    [answer_text_2_2] => Второй вариант
    [answer_text_2_3] => Третий вариант
    [correct_answer_2_3] => 1
)


Есть структура таблиц Mysql:
2018-06-07__02-00-06.pngКак мне полученный массив перебрать и записать в соответствующие таблицы?

P.S. Пишу генератор тестов (Название теста, вопросы, у каждого вопроса несколько вариантов ответов, у каждого ответа есть галочка для отметки верного).
на project_id не обращайте внимания.

Используется CodeIgniter 3.1.8
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
kimono
@kimono
Web developer
Зачем такой геморрой, когда всё можно сделать проще:
<form method="post">
    <input name="name">
    <input name="question[0][name]">
    <input name="question[0][answer][]">
    <input name="question[0][answer][]">
    <input name="question[0][correct_answer]">
    <input name="question[1][name]">
    <input name="question[1][answer][]">
    <input name="question[1][answer][]">
    <input name="question[1][correct_answer]">
    <input type="submit" value="save">
</form>

var_dump($_POST);
array (size=2)
  'name' => string '' (length=0)
  'question' => 
    array (size=2)
      0 => 
        array (size=3)
          'name' => string '' (length=0)
          'answer' => 
            array (size=2)
              0 => string '' (length=0)
              1 => string '' (length=0)
          'correct_answer' => string '' (length=0)
      1 => 
        array (size=3)
          'name' => string '' (length=0)
          'answer' => 
            array (size=2)
              0 => string '' (length=0)
              1 => string '' (length=0)
          'correct_answer' => string '' (length=0)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы