php array_push和array_intersect

时间:2016-12-06 11:07:04

标签: php array-push array-intersect

我想为数组添加值,然后我想在数组中使用这些数组。代码如下。我在哪里做错了?

$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);
}

输出

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

我想成为这样:

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

谢谢,

2 个答案:

答案 0 :(得分:1)

试试这个

df[which(df$col1 + 500 == df$col2),]

答案 1 :(得分:0)

您滥用array_intersect。此方法适用于数组中的值而不是单个值。
按照你想要的方式使用你应该用逗号分割你的值并将它们作为单独的值插入。例如: 值:'1,2,3,4'应插入:

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

解决方案(没有循环等):

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

$arr1 = array(); 
$arr2 = array();
$common = array();

$arr1 = explode(',', $array[0]); 
$arr2 = explode(',', $array[1]);

$common =array_intersect($arr1, $arr2);
print_r($common);

$arr3 = explode(',', $array[2]); 
$common2 = array_intersect($common, $arr3);
print_r($common2);

?>