Я хотел бы извлечь все возможные варианты данных в следующем массиве ($ OriginalData), как они расположены во втором массиве ($ Variations).
В данном случае есть 3 вопроса, но эта цифра является переменной. Вопрос 1 имеет 3 варианта, вопрос 2 имеет 5 вариантов, а вопрос 3 имеет 2 варианта.
Мне нужно получить массив объектов, которые содержат каждую возможную комбинацию ответов из 3 вопросов. В этом случае я считаю, что должно быть 30 возможных комбинаций. Я предоставил ожидаемый результат (для первых 3 комбинаций) в массиве $ Variations.
Любая помощь с благодарностью!
$OriginalData = array();
$OriginalData[] = (object) array(
'ID'=>51,
'Options'=>array(
array('OptionID'=>27396,'Surcharge'=>50),
array('OptionID'=>27397,'Surcharge'=>40),
array('OptionID'=>27398,'Surcharge'=>45),
)
);
$OriginalData[] = (object) array(
'ID'=>52,
'Options'=>array(
array('OptionID'=>27383,'Surcharge'=>5),
array('OptionID'=>27384,'Surcharge'=>5),
array('OptionID'=>27385,'Surcharge'=>5),
array('OptionID'=>27386,'Surcharge'=>5),
array('OptionID'=>27387,'Surcharge'=>5),
)
);
$OriginalData[] = (object) array(
'ID'=>53,
'Options'=>array(
array('OptionID'=>27343,'Surcharge'=>12),
array('OptionID'=>27344,'Surcharge'=>15),
)
);
print_r($OriginalData);
$Variations[0]['Options'][51] = (object) array('OptionID'=>27396,'Surcharge'=>50);
$Variations[0]['Options'][52] = (object) array('OptionID'=>27383,'Surcharge'=>5);
$Variations[0]['Options'][53] = (object) array('OptionID'=>27343,'Surcharge'=>12);
$Variations[0]['Summary'] = (object) array('TotalSurcharge'=>67);
$Variations[1]['Options'][51] = (object) array('OptionID'=>27397,'Surcharge'=>40);
$Variations[1]['Options'][52] = (object) array('OptionID'=>27383,'Surcharge'=>5);
$Variations[1]['Options'][53] = (object) array('OptionID'=>27343,'Surcharge'=>12);
$Variations[1]['Summary'] = (object) array('TotalSurcharge'=>57);
$Variations[2]['Options'][51] = (object) array('OptionID'=>27398,'Surcharge'=>45);
$Variations[2]['Options'][52] = (object) array('OptionID'=>27383,'Surcharge'=>5);
$Variations[2]['Options'][53] = (object) array('OptionID'=>27343,'Surcharge'=>12);
$Variations[2]['Summary'] = (object) array('TotalSurcharge'=>62);
print_r($Variations);