I've got loads of arrays that are product options (example below):
$option_array[] = array(
"name" => "delivery",
"options" => array(
"sat", "sun")
);
$option_array[] = array(
"name" => "colour",
"options" => array(
"red", "blue", "green")
);
$option_array[] = array(
"name" => "size",
"options" => array(
"small", "medium", "large")
);
What's the best way for me to come up with every permutation as a foreach loop but while being fairly efficient. I need to enter in a value in the database for every possible combination (so that should be 18 values or 18 iterations in this example). How do I get an array of the resulting permutations?
Expected Output:
array(18){
[0] => array(3){
"delivery" => "sat",
"colour" => "red",
"size" => "small",
}
[1] => array(3){
"delivery" => "sat",
"colour" => "red",
"size" => "medium",
}
[2] => array(3){
"delivery" => "sat",
"colour" => "red",
"size" => "large",
}
[3] => array(3){
"delivery" => "sat",
"colour" => "blue",
"size" => "small",
}
[4] => array(3){
"delivery" => "sat",
"colour" => "blue",
"size" => "medium",
}
[5] => array(3){
"delivery" => "sat",
"colour" => "blue",
"size" => "large",
}
[6] => array(3){
"delivery" => "sat",
"colour" => "green",
"size" => "small",
}
[7] => array(3){
"delivery" => "sat",
"colour" => "green",
"size" => "medium",
}
[8] => array(3){
"delivery" => "sat",
"colour" => "green",
"size" => "large",
}
[9] => array(3){
"delivery" => "",
"colour" => "red",
"size" => "medium",
} [10] => array(3){
"delivery" => "sun",
"colour" => "red",
"size" => "small",
}
[11] => array(3){
"delivery" => "sun",
"colour" => "red",
"size" => "medium",
}
[12] => array(3){
"delivery" => "sun",
"colour" => "red",
"size" => "large",
}
[13] => array(3){
"delivery" => "sun",
"colour" => "blue",
"size" => "small",
}
[14] => array(3){
"delivery" => "sun",
"colour" => "blue",
"size" => "medium",
}
[15] => array(3){
"delivery" => "sun",
"colour" => "blue",
"size" => "large",
}
[16] => array(3){
"delivery" => "sun",
"colour" => "green",
"size" => "small",
}
[17] => array(3){
"delivery" => "sun",
"colour" => "green",
"size" => "medium",
}
[18] => array(3){
"delivery" => "sun",
"colour" => "green",
"size" => "large",
}
}
I'm not overly bothered about the output format.