একটি একক সেট থেকে একটি নির্দিষ্ট আকারের সমস্ত সমন্বয় তৈরি করতে, কোডটি নিম্নরূপ -
উদাহরণ
function sampling($chars, $size, $combinations = array()) { # in case of first iteration, the first set of combinations is the same as the set of characters if (empty($combinations)) { $combinations = $chars; } # size 1 indicates we are done if ($size == 1) { return $combinations; } # initialise array to put new values into it $new_combinations = array(); # loop through the existing combinations and character set to create strings foreach ($combinations as $combination) { foreach ($chars as $char) { $new_combinations[] = $combination . $char; } } # call the same function again for the next iteration as well return sampling($chars, $size - 1, $new_combinations); } $chars = array('a', 'b', 'c'); $output = sampling($chars, 2); var_dump($output);
আউটপুট
এটি নিম্নলিখিত আউটপুট −
তৈরি করবেarray(9) { [0]=> string(2) "aa" [1]=> string(2) "ab" [2]=> string(2) "ac" [3]=> string(2) "ba" [4]=> string(2) "bb" [5]=> string(2) "bc" [6]=> string(2) "ca" [7]=> string(2) "cb" [8]=> string(2) "cc" }
প্রথম পুনরাবৃত্তি নির্দেশ করে অক্ষরের একই সেট প্রদর্শন করা হবে। যদি আকার 1 হয়, তাহলে সংমিশ্রণটি প্রদর্শিত হবে। একটি অ্যারেকে 'new_combinations' হিসাবে আরম্ভ করা হয় এবং এটি 'forloop' ব্যবহার করে লুপ করা হয় এবং সেই স্ট্রিংয়ের প্রতিটি অক্ষর অন্য প্রতিটি অক্ষরের সাথে সংযুক্ত থাকে। 'স্যাম্পলিং' ফাংশনটিকে প্যারামিটার (স্ট্রিং, স্ট্রিংয়ের আকার এবং অ্যারে) দিয়ে বলা হয়।