dongyun234854
2016-12-06 11:07
采纳率: 0%
浏览 39
已采纳

php array_push和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,

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • doujiyan0971 2016-12-06 11:52
    已采纳

    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);
    
    }
    
    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题