Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में डुप्लिकेट मानों को बहुआयामी सरणी में मर्ज करना

PHP में एक सरणी के डुप्लिकेट मानों को किसी विशिष्ट कुंजी (जैसे 'hobby') के आधार पर समूहित करके बहुआयामी सरणी में मर्ज किया जा सकता है। यह डेटा समूहीकरण और एकत्रीकरण के लिए उपयोगी है।

उदाहरण

<?php
$my_arr = array(
    array('Age'=>23, 'name'=>'Joe', 'hobby'=>'Cycling'),
    array('Age'=>26, 'name'=>'Hannah', 'hobby'=>'Rowing'),
    array('Age'=>30, 'name'=>'Dev', 'hobby'=>'Cycling'),
    array('Age'=>30, 'name'=>'Dev', 'hobby'=>'Cycling') // डुप्लिकेट
);

foreach ($my_arr as $entry => $vals) {
    $new_vals[$vals['hobby']][] = $vals;
}

echo "The unique array elements are ";
print_r($new_vals);
?>

आउटपुट

The unique array elements are Array
(
    [Cycling] => Array
        (
            [0] => Array ( [Age] => 23 [name] => Joe [hobby] => Cycling )
            [1] => Array ( [Age] => 30 [name] => Dev [hobby] => Cycling )
            [2] => Array ( [Age] => 30 [name] => Dev [hobby] => Cycling )
        )
    [Rowing] => Array
        (
            [0] => Array ( [Age] => 26 [name] => Hannah [hobby] => Rowing )
        )
)

काम कैसे करता है:

  1. foreach प्रत्येक उप-सरणी पर पुनरावृत्त करता है।
  2. $vals['hobby'] (जैसे "Cycling") को नई सरणी $new_vals की कुंजी के रूप में उपयोग किया जाता है।
  3. [] ऑपरेटर उस कुंजी के तहत पूरी उप-सरणी $vals को जोड़ता है।
  4. समान शौक वाले सभी एंट्रीज़ स्वचालित रूप से उसी कुंजी के तहत समूहित हो जाते हैं।

महत्वपूर्ण नोट

यह कोड डुप्लिकेट हटाता नहीं — यह उन्हें समूहित करता है। आउटपुट में "Dev" की दो समान एंट्रीज़ "Cycling" के तहत मौजूद हैं। वास्तविक डुप्लिकेट हटाने के लिए अतिरिक्त लॉजिक चाहिए।

डुप्लिकेट हटाकर समूहित करने का उन्नत संस्करण

<?php
$unique = [];
foreach ($my_arr as $person) {
    $key = $person['hobby'];
    // व्यक्ति की विशिष्ट पहचान बनाएँ (जैसे name+age)
    $personKey = $person['name'] . '|' . $person['age'];
    if (!isset($unique[$key][$personKey])) {
        $unique[$key][$personKey] = $person;
    }
}
// कुंजियाँ रीसेट करें
foreach ($unique as &$group) {
    $group = array_values($group);
}
print_r($unique);
?>

अनुप्रयोग

  • उपयोगकर्ताओं को रुचि/विभाग/भूमिका के आधार पर समूहित करना।
  • उत्पादों को श्रेणी/ब्रांड के अनुसार व्यवस्थित करना।
  • लॉग एंट्रीज़ को त्रुटि प्रकार/गंभीरता के अनुसार एकत्र करना।
  1. - PHP में ऑब्जेक्ट को ऐरे में कन्वर्ट करें

    एक PHP एप्लिकेशन में, हम स्ट्रिंग, ऐरे, ऑब्जेक्ट्स या अधिक जैसे विभिन्न फॉर्मेट्स में डेटा के साथ काम कर रहे हैं। एक रियल-टाइम एप्लिकेशन में, हमें वांछित आउटपुट प्राप्त करने के लिए PHP ऑब्जेक्ट रिजल्ट को एसोसिएटिव ऐरे के रूप में पढ़ने की आवश्यकता हो सकती है। तो हम यहां चर्चा करेंगे कि PHP ऑब्जेक्ट

  1. - PHP में array_count_values() फ़ंक्शन

    PHP में array_count_values() फ़ंक्शन सरणी में प्रत्येक मान की घटनाओं (occurrences) की गिनती करता है। एक सहयोगी सरणी लौटाता है जहाँ कुंजियाँ मूल सरणी के मान होते हैं और मान उनकी गिनती। सिंटैक्स (Syntax) array_count_values(array $arr): array पैरामीटर्स (Parameters) $arr − वह सरणी जिसके मानों की गि

  1. - PHP में array() फ़ंक्शन / सरणी निर्माण

    PHP में array() भाषा निर्माण (language construct) है जो सरणी बनाता है। PHP 5.4+ में छोटा सिंटैक्स [] भी उपलब्ध है। PHP में तीन प्रकार की सरणियाँ होती हैं। सरणी के प्रकार (Array Types) प्रकारविवरणउदाहरण सूचकांकित (Indexed)संख्यात्मक कुंजियाँ (0, 1, 2...)[10, 20, 30] सहयोगी (Associative)नामित कुंजि