PHP: एक-आयामी सरणी के सभी संभावित संयोजन कैसे प्राप्त करें
इस लेख में, हम तत्वों के सभी संभावित संयोजनों को पुनः प्राप्त करने की एक विधि पर विचार करेंगे PHP में एक आयामी सरणी। अन्य समाधानों के विपरीत, यह दृष्टिकोण सुनिश्चित करता है कि संयोजन और क्रमपरिवर्तन दोनों पर विचार किया जाए।
समस्या विवरण
स्ट्रिंग्स या संख्याओं की एक श्रृंखला को देखते हुए, लक्ष्य तत्वों के सभी संभावित संयोजन उत्पन्न करना है, विभिन्न व्यवस्थाओं को ध्यान में रखते हुए। उदाहरण के लिए, 'अल्फा बीटा' और 'बीटा अल्फा' अलग-अलग संयोजन हैं जिन्हें आउटपुट में शामिल किया जाना चाहिए।
0) {
डेप्थ_पिकर($arrcopy, $temp_string ।" " . $elem[0], $collect);
} अन्य {
$संग्रह []= $temp_string. " " . $elem[0];
}
}
}
$संग्रह = सरणी();
गहराई_पिकर($सरणी, "", $संग्रह);
print_r($कलेक्ट);
?>
समाधान का टूटना
गहराई_पिकर फ़ंक्शन प्रारंभिक सरणी, एक खाली स्ट्रिंग और एक खाली सरणी संदर्भ के साथ शुरू किया जाता है।
यह पुनरावर्ती रूप से लूप करता है सरणी के माध्यम से, प्रत्येक तत्व को वर्तमान परिणाम स्ट्रिंग के अंत में जोड़ें।
- जब भी अस्थायी स्ट्रिंग में तत्व होते हैं, तो इसे परिणाम में जोड़ा जाता है सरणी।
- यदि इनपुट सरणी में अभी भी तत्व बचे हैं, तो फ़ंक्शन स्वयं को अद्यतन सरणी और अस्थायी स्ट्रिंग के साथ कॉल करता है।
- यदि कोई और तत्व नहीं बचा है, तो अस्थायी स्ट्रिंग जिसमें शामिल है पूरा संयोजन एकत्रित सरणी में जोड़ा जाता है।
- आउटपुट
- प्रदान किया गया कोड निम्नलिखित आउटपुट उत्पन्न करता है, जिसमें दिए गए तत्वों के सभी संयोजन और क्रमपरिवर्तन शामिल हैं सरणी:
सरणी
(
[0] => अल्फा
[1] => अल्फा बीटा
[2] => अल्फा बीटा गामा
[3] => अल्फा बीटा गामा सिग्मा
[4] => अल्फा बीटा सिग्मा
[5] => अल्फा बीटा सिग्मा गामा
[6] => अल्फा गामा
[7] => अल्फा गामा बीटा
[8] => अल्फा गामा बीटा सिग्मा
[9] => अल्फा गामा सिग्मा
[10] => अल्फा गामा सिग्मा बीटा
[11] => अल्फ़ा सिग्मा
[12] => अल्फा सिग्मा बीटा
[13] => अल्फा सिग्मा बीटा गामा
[14] => अल्फा सिग्मा गामा
[15] => अल्फा सिग्मा गामा बीटा
[16] => बीटा
[17] => बीटा अल्फा
[18] => बीटा अल्फा गामा
[19] => बीटा अल्फा गामा सिग्मा
[20] => बीटा अल्फा सिग्मा
[21] => बीटा अल्फा सिग्मा गामा
[22] => बीटा गामा
[23] => बीटा गामा अल्फा
[24] => बीटा गामा अल्फा सिग्मा
[25] => बीटा गामा सिग्मा
[26] => बीटा गामा सिग्मा अल्फा
[27] => बीटा सिग्मा
[28] => बीटा सिग्मा अल्फा
[29] => बीटा सिग्मा अल्फा गामा
[30] => बीटा सिग्मा गामा
[31] => बीटा सिग्मा गामा अल्फा
[32] => गामा
[33] => गामा अल्फ़ा
[34] => गामा अल्फा बीटा
[35] => गामा अल्फा बीटा सिग्मा
[36] => गामा अल्फा सिग्मा
[37] => गामा अल्फा सिग्मा बीटा
[38] => गामा बीटा
[39] => गामा बीटा अल्फा
[40] => गामा बीटा अल्फा सिग्मा
[41] => गामा बीटा सिग्मा
[42] => गामा बीटा सिग्मा अल्फा
[43] => गामा सिग्मा
[44] => गामा सिग्मा अल्फा
[45] => गामा सिग्मा अल्फा बीटा
[46] => गामा सिग्मा बीटा
[47] => गामा सिग्मा बीटा अल्फा
[48] => सिग्मा
[49] => सिग्मा अल्फा
[50] => सिग्मा अल्फा बीटा
[51] => सिग्मा अल्फा बीटा गामा
[52] => सिग्मा अल्फा गामा
[53] => सिग्मा अल्फा गामा बीटा
[54] => सिग्मा बीटा
[55] => सिग्मा बीटा अल्फा
[56] => सिग्मा बीटा अल्फा गामा
[57] => सिग्मा बीटा गामा
[58] => सिग्मा बीटा गामा अल्फा
[59] => सिग्मा गामा
[60] => सिग्मा गामा अल्फा
[61] => सिग्मा गामा अल्फा बीटा
[62] => सिग्मा गामा बीटा
[63] => सिग्मा गामा बीटा अल्फा
)