$option1 = array('apple', 'orange', 'pear');
$option2 = array('rice', 'noodle');
And we must find all combinations(there are 6 of them in this example) of these two array elements:
'apple', 'rice',
'apple', 'noodle',
'orange', 'rice',
'orange', 'noodle',
'pear', 'rice',
'pear', 'noodle'
First, let's see how to implement the algorithm in PHP:
//$allOptionsArray is an array containing all options array //$final is a stdClass function getCombinations($allOptionsArray, $final) { if(count($allOptionsArray)) { for($i=0; $i < count($allOptionsArray[0]); $i++) { $tmp = $allOptionsArray; $final->codes[$final->pos] = $allOptionsArray[0][$i]; array_shift($tmp); $final->pos++; getCombinations($tmp, $final); } } else { $final->result[] = $final->codes; } $final->pos--; } //let's see how to use the function: $option1 = array('apple', 'orange', 'pear'); $option2 = array('rice', 'noodle'); $allOptionsArray = array($option1, $option2); $final = new stdClass(); $final->result = array(); $final->codes = array(); $final->pos = 0; getCombinations($allOptionsArray, $final); //$final->result is an array containing all possible combinations var_dump($final->result);
We can easily implement same algorithm in javascript:
var getCombinations = function(allOptionsArray, combination) { if(allOptionsArray.length > 0) { for(var i=0; i < allOptionsArray[0].length; i++) { var tmp = allOptionsArray.slice(0); combination.codes[combination.counter] = allOptionsArray[0][i]; tmp.shift(); combination.counter++; getCombinations(tmp, combination); } } else { var combi = combination.codes.slice(0); combination.result.push(combi); } combination.counter--; } //use it: var a = ["01", "02", "03", "04"]; var b = ["white", "green", "blue", "red"]; var c = ["one", "two", "three", "four"]; var d = ["a", "b", "c", "d"]; var allOptionsArray = [a, b, c, d]; var combination = {codes : [], result : [], counter : 0}; getCombinations(allOptionsArray, combination); for(var i=0; i < combination.result.length; i++) { console.log(combination.result[i]); }
15 comments:
thanks
With this code you can print the combinations between two arrays in one way,
";
}
echo "
";
}
?>
Result:
Play in the park
Walk in the park
Play on the beach
Walk on the beach
This helped me out a bunch. Thanks!
Great job!!!
Great Blog. Helped me a lot. Thanks
This is quite educational arrange. It has famous breeding about what I rarity to vouch. Colossal proverb.
This trumpet is a famous tone to nab to troths. Congratulations on a career well achieved. This arrange is synchronous s informative impolites festivity to pity. I appreciated what you ok extremely here
Selenium training in bangalore
Selenium training in Chennai
Selenium training in Bangalore
Selenium training in Pune
Selenium Online training
Really very happy to say, your post is very interesting to read. I never stop myself to say something about it. You’re doing a great job. Keep it up…
Looking for Best Training Institute in Bangalore , India. Softgen Infotech is the best one to offers 85+ computer training courses including IT Software Course in Bangalore , India. Also, it provides placement assistance service in Bangalore for IT.
Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site.Prathima Infotech training center bangalore
Thanks for sharing this blog. This very important and informative blog. content
Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site. Real Time Experts Training in Bangalore center address bangalore
click here formore info.
............................................................
Great awesome article.
Python Training in Chennai | Certification | Online Training Course | Python Training in Bangalore | Certification | Online Training Course | Python Training in Hyderabad | Certification | Online Training Course | Python Training in Coimbatore | Certification | Online Training Course | Python Training in Online | Python Certification Training Course
Really very happy to say, your post is very interesting to read. I never stop myself to say something about it. You’re doing a great job. Keep it up…
java training in chennai
java training in omr
aws training in chennai
aws training in omr
python training in chennai
python training in omr
selenium training in chennai
selenium training in omr
Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site
java training in chennai
java training in annanagar
aws training in chennai
aws training in annanagar
python training in chennai
python training in annanagar
selenium training in chennai
selenium training in annanagarjava training in chennai
java training in annanagar
aws training in chennai
aws training in annanagar
python training in chennai
python training in annanagar
selenium training in chennai
selenium training in annanagar
Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging…salesforce training in chennai
software testing training in chennai
robotic process automation rpa training in chennai
blockchain training in chennai
devops training in chennai
Post a Comment