Как из инпута с параметрами name="result[1][question]" и value="2" сделать объект?

Ссылка скопирована
1 ответ

Необходимо, использовав имя инпута result[1][question] сделать объект и в question запихнуть значение этого инпута. Как это можно сделать?

Итоговый объект должен быть таким:

const res = {     "1": {         "question": 2     } }

const res = { "1": { "question": 2 } }

Дополнительно:

было

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ольга Сеть Ответ

Для того чтобы из инпута с параметрами name="result[1][question]" и value="2" создать объект, вам необходимо прочитать значение из атрибутов name и value, а затем создать объект с этими значениями.

Пример решения на языке PHP:

$input_name = "result[1][question]";
$input_value = 2;
 
// Разбиваем строку $input_name на массив по символам '[' и ']'
$keys = explode('[', str_replace(']', '', $input_name));
 
// Создаем объект и заполняем его значениями
$obj = new stdClass();
$temp = &$obj;
 
foreach ($keys as $key) {
    $temp->$key = new stdClass();
    $temp = &$temp->$key;
}
 
// Присваиваем значение $input_value последнему элементу объекта
$temp = $input_value;
 
// Теперь у вас есть объект, который создан из инпута с параметрами name="result[1][question]" и value="2"

$input_name = "result[1][question]"; $input_value = 2; // Разбиваем строку $input_name на массив по символам '[' и ']' $keys = explode('[', str_replace(']', '', $input_name)); // Создаем объект и заполняем его значениями $obj = new stdClass(); $temp = &$obj; foreach ($keys as $key) { $temp->$key = new stdClass(); $temp = &$temp->$key; } // Присваиваем значение $input_value последнему элементу объекта $temp = $input_value; // Теперь у вас есть объект, который создан из инпута с параметрами name="result[1][question]" и value="2"

Этот код разбивает строку $input_name на массив ключей, затем создает объект и заполняет его значениями, используя эти ключи. В результате у вас будет объект, который содержит значение 2 по ключу "question" во вложенном объекте с ключом 1.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно