Search code examples
phparray-pusharray-intersect

php array_push and array_intersect


I want to add value to array and then I want to use these arrays in array intersect. Codes are in bellow. Where am I doing mistake?

$array =['1,2,3,4','3,4,5','2,3'];

$arr2 = [];
$common = [];

for($i=0; $i<count($array); $i++)
{
    $arr1 = [];
    if($i==0)
    {
        array_push($arr1, $array[$i]);
        array_push($arr2, $array[$i]);
        $common = array_intersect($arr1,$arr2);
    }
    else
    {
        array_push($arr1, $array[$i]);
        $common = array_intersect($arr1,$common);
    }

    print_r($common);
}

Output is :

Array ( 
    [0] => 1,2,3,4 
) 
Array ( ) 
Array ( ) 

I want to be this :

Array ( 
    [0] => 1,2,3,4 
) 
Array(
    [0] => 3,4
)
Array(
    [0] => 3
)

Thanks,


Solution

  • Try This

    <?php 
    
    $array =['1,2,3,4','3,4,5','2,3'];
    $arr1 = [];
    
    for($i=0; $i<count($array); $i++)
    {   
        $j='arr'.$i;
        $j= [];
        if($i==0){
        array_push($j, $array[$i]);
        }   
        else{
            $a = explode(',',$array[$i-1]);
            $b = explode(',',$array[$i]);
            $c = array_intersect($a,$b);
            $d= implode(',',$c);
            array_push($j, $d);
        }
        echo "<pre>"; print_r($j);
    
    }