"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PHP में कॉलमर डेटा स्ट्रक्चर को पंक्ति-आधारित प्रारूप में कैसे स्थानांतरित करें?

PHP में कॉलमर डेटा स्ट्रक्चर को पंक्ति-आधारित प्रारूप में कैसे स्थानांतरित करें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:387

How to Transpose a Columnar Data Structure into Row-based Format in PHP?

बहुआयामी स्तंभ डेटा को पंक्ति-आधारित संरचना में पुन: व्यवस्थित करना

स्तंभ-उन्मुख डेटा के साथ एक सहयोगी सरणी को देखते हुए, कार्य इसे स्थानांतरित करना है पंक्तियों से युक्त एक बहुआयामी सरणी। मूल सरणी में डेटा को कॉलम द्वारा व्यवस्थित किया गया है, और लक्ष्य एक ही कॉलम से मानों को पंक्तियों में मर्ज करना है।

मूल सरणी:

$where = [
    'id' => [
        12,
        13,
        14
    ],
    'date' => [
        '1999-06-12',
        '2000-03-21',
        '2006-09-31'
    ]
];

वांछित आउटपुट:

$comb = [
    [12, '1999-06-12'],
    [13, '2000-03-21'],
    [14, '2006-09-31']
];

समाधान:

इस डेटा पुनर्गठन को प्राप्त करने का एक प्रभावी तरीका एक लूप का उपयोग करके प्रत्येक कॉलम के मूल्यों के माध्यम से पुनरावृत्त करना और उन्हें प्रत्येक के लिए एक सरणी में संयोजित करना है पंक्ति। यहाँ एक उदाहरण है:

$result = [];

foreach ($where['id'] as $key => $id) {
    $result[] = [$id, $where['date'][$key]];
}

array_column() दृष्टिकोण:

लूप-आधारित समाधान का एक सुंदर विकल्प array_column() फ़ंक्शन का उपयोग करना है, जो एक बहुआयामी से एक विशिष्ट कॉलम निकालता है सारणी.

$result = [];

foreach ($where['id'] as $key => $id) {
    $result[] = array_column($where, $key);
}

Array_column() फ़ंक्शन निर्दिष्ट कॉलम को एक सरणी के रूप में लौटाता है, जिसे बाद में संबंधित पंक्ति के मानों के साथ जोड़ा जा सकता है।

आउटपुट:

दोनों समाधान वांछित आउटपुट देंगे:

[
    [12, '1999-06-12'],
    [13, '2000-03-21'],
    [14, '2006-09-31']
]
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3