उदाहरण के साथ शीर्षक कहता है, मैं पिछले मान के रूप में प्रत्येक निम्न कुंजी द्वारा घोंसला करने के लिए एक फ्लैट सरणी की आवश्यकता है।PHP फ्लैट सरणी को नेस्टेड ["ए", "बी", "सी"] से ["ए" => ["बी" => ["सी"]]]
उदाहरण:
function make_nested($array) {
if (!$array)
return array();
$result = array(array_pop($array));
while ($array)
$result = array(array_pop($array) => $result);
return $result;
}
यह सही है! हालांकि मैंने एक जगह बदलने के लिए नहीं कहा था, यह सबसे कॉम्पैक्ट संस्करण प्रतीत होता है, जिसे मैं वास्तव में ढूंढ रहा था। –
@DeadManWalker, वास्तव में यह सबसे कॉम्पैक्ट संस्करण नहीं है। यहां [मेरे उत्तर] से पहले फ़ंक्शन की वर्तनी है (http://stackoverflow.com/a/30365085/2266855): 'फ़ंक्शन एमएन ($ ए) {वापसी गणना ($ ए) <2? $ ए: [array_shift ($ ए) => एमएन ($ ए)]; } '। इसके अलावा मेरा काम अधिक कुशल है। – dened