У меня есть такой массив:
$a = array('value' =>
array(
'lesson_id' => array('1','6'),
'knowledge_value' => array('2','7'),
'knowledge_description' => array('3','8'),
'skill_value' => array('4','9'),
'skill_description' => array('5','10')
)
);
Я хочу изменить это так:
$a = array('value' =>
array(
array(
'lesson_id' => '1',
'knowledge_value' => '2',
'knowledge_description' => '3',
'skill_value' => '4',
'skill_description' => '5'
),
array(
'lesson_id' => '6',
'knowledge_value' => '7',
'knowledge_description' => '8',
'skill_value' => '9',
'skill_description' => '10'
),
)
);
Как мне это сделать?
Ну, вам придется написать код! Вы уже пытались написать какой-нибудь код для этого, если да, пожалуйста, покажите его нам.
Опубликуйте код своих собственных попыток, и я опубликую свой код.
Вот фрагмент для работы, пожалуйста, смотрите встроенный документ для объяснения
$temp = [];
$keys = array_keys($a['value']); // fetched all keys
for ($i = 0; $i < count($a['value']['lesson_id']); $i++) { // compared with first count of lession_id
$temp['value'][] = array_combine($keys, array_column($a['value'], $i)); // combined key and values
}
array_keys — Возвращает все ключи или подмножество ключей массива
array_combine — создает массив, используя один массив для ключей, а другой — для его значений
столбец_массива — Возвращает значения из одного столбца во входном массиве
Пожалуйста, давайте ТАК избегать вопросов типа «Дай мне код», не отвечая на них, пока ОП не покажет нам хотя бы попытку немного.
Сначала нужно сделать несколько попыток. Мы будем рады помочь вам исправить ваш код существующий, но мы не будем писать его за вас.