मैंने कई अलग-अलग "सरणी से डुप्लिकेट हटाएं" कार्यों की खोज की है और कोशिश की है, लेकिन किसी ने भी मेरे मामले के लिए काम नहीं किया है। मैं एक सरणी से विशिष्ट डुप्लिकेट निकालने का प्रयास कर रहा हूं।

नीचे से मैं "PHASER 4600" के डुप्लिकेट को निकालना चाहूंगा।

[0] => Array
    (
        [id] => 1737
        [product_name] => PHASER 4200
        [certification_date] => 3/20/12
    )

[1] => Array
    (
        [id] => 1738
        [product_name] => PHASER 4600
        [certification_date] => 3/20/12
    )

[2] => Array
    (
        [id] => 1739
        [product_name] => PHASER 4600
        [certification_date] => 3/20/12
    )

[3] => Array
    (
        [id] => 1740
        [product_name] => PHASER 4700
        [certification_date] => 3/20/12
    )

[4] => Array
    (
        [id] => 1741
        [product_name] => PHASER 4800
        [certification_date] => 3/20/12
    )
1
rubberchicken 18 नवम्बर 2015, 19:08

2 जवाब

सबसे बढ़िया उत्तर

आप उन्हें एक नई सारणी में डाल सकते हैं और जाँच सकते हैं कि आपने उन्हें यह देखने के लिए रखा है कि क्या यह एक डुप्लिकेट है।

$newArray = array();

foreach ($oldArray as $old) {
    $found = false;

    foreach ($newArray as $new) {
        if ($new['product_name'] == $old['product_name']) {
            $found = true;
        }
    }

    if (!$found) {
        array_push($newArray, $old);
    }
}
1
Fluinc 18 नवम्बर 2015, 16:18

आप इस फ़ंक्शन का उपयोग कर सकते हैं:

function delete_duplicate_name(&$arr, $name){
    $found = false;
    foreach($arr as $key => $elm){
        if($elm['product_name'] == $name){
            if($found == true)
                unset($arr[$key]);
            else
                $found = true;
        }
    }
}
delete_duplicate_name($arr, 'PHASER 4600');
print_r($arr);
1
Pablo Digiani 18 नवम्बर 2015, 16:25