Qn: How to merge tow arrays and get new array without duplicates using php?
-By Venkatesh, Last Update On 22nd April,2019 06:07 am

Using in_array() Method

array1-ல் உள்ள அனைத்து element-களையும் foreach loop மூலமாக new_array-ல் சேர்க்கபடுகிறது. அதன்பிறகு array2-ல் உள்ள ஒவொரு element-ஐயும் new_array-ல் சேர்க்கும்போது array2-ல் உள்ள element ஏற்கனவே new_array-ல் சேர்க்கப்பட்டு உள்ளதா? என்று சரிபார்த்து, ஏற்க்கனவே சர்க்கபடாத element-ஐ மட்டும் புதிதாக new_array-ல் சேர்த்துகொள்ளும். இதற்க்கு in_array() என்ற array function, if() condition-ல் பயன்படுத்தபடுகிறது.

in_array() method ஆனது, ஒரு element already அந்த array-ல் உள்ளதா? என்பதை சரிபார்க்க பயன்படுத்தபடுகிறது.

<?php
$array1 = array(1, 2, 3, 4, 5, 6);
$array2 = array(1, 5, 3, 6, 8, 9, 0);

foreach ($array1 as $element) {
    $new_array[] = $element;
}
foreach ($array2 as $element) {
    if (!in_array($element, $new_array)) {
        $new_array[] = $element;
    }
}
foreach ($new_array as $element) {
    echo $element . ", ";
}
?>
Output:
1, 2, 3, 4, 5, 6, 8, 9, 0,

Without using any in-build method

array1-ல் உள்ள அனைத்து element-களையும் foreach loop மூலமாக new_array-ல் சேர்க்கபடுகிறது. அதன்பிறகு array2-ல் உள்ள ஒவொரு element-ஐயும் new_array-ல் சேர்க்கும்போது array2-ல் உள்ள element ஏற்கனவே new_array-ல் சேர்க்கப்பட்டு உள்ளதா? என்று searchElement() என்ற user defined function-க்கு அனுப்பி சரிபர்க்கபட்டு, ஏற்க்கனவே சர்க்கபடாத element-ஐ மட்டும் புதிதாக new_array-ல் சேர்த்துகொள்ளும்.

இதற்க்கு searchElement() என்ற function, foreach() loop-ல் பயன்படுத்தபடுகிறது. இந்த function ஏற்கனவே இருக்கின்ற element-ஐ அனுப்பினால் 1 என்றும் இல்லையனில் 0 என்றும் நமக்கு return செய்யும். இங்கு return value !=1 -ஆக அதாவது 0-ஆக இருந்தால் மட்டும் element new_array-ல் assign ஆகும்.

<?php
$array1 = array(1, 2, 3, 4, 5, 6);
$array2 = array(1, 5, 3, 6, 8, 9, 0);

function searchElement($array, $search_element) {
    $resut = 0;
    foreach ($array as $value) {
        if ($value == $search_element) {
            $resut = 1;
            break;
        }
    }
    return $resut;
}

foreach ($array1 as $element) {
    $new_array[] = $element;
}
foreach ($array2 as $element) {
    $result=searchElement($new_array,$element);
    if ($result!=1) {
        $new_array[] = $element;
    }
}
foreach ($new_array as $element) {
    echo $element . ", ";
}
?>
Output:
1, 2, 3, 4, 5, 6, 8, 9, 0,

Pgcomments

Comments