如何过滤数组并创建新数组

时间:2015-01-30 12:33:13

标签: php arrays

我有两个数组:array1=(1,2,3,4)array2=(1,2,5,6)

我需要创建array3,其中只包含array2中不在array1中的值。所以我的array3将是array3(5,6)

4 个答案:

答案 0 :(得分:1)

尝试使用array_diff(),如下所示:

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

print_r(array_diff($array2,$array1));// to reinitialize key use array_values().
?>

答案 1 :(得分:0)

您需要array_diff()功能 http://php.net/array_diff

$a1 = array(0 => "a", 1 => "b", 2 => "c");
$a2 = array(3 => "c", 4 => "b", 5 => "d");
print_r(array_diff($a1,$a2));
//Array (
//  [0] => a
//)

答案 2 :(得分:0)

你可以通过以下方式实现

$array1=array (1,2,3,4);
$array2=array (1,2,5,6);
$result = array_diff ( $array1 , $array2);
echo "<pre>";print_r($result);exit;

这将输出

Array
(
    [2] => 3
    [3] => 4
)

如果你想重新索引数组,你可以使用下面的代码

array_values($result);

输出:

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

答案 3 :(得分:0)

这是解决方案:

<?php

$a = array(0=> 1, 1 => 23, 2 => 3);
$b = array(0=> 1, 1 => 23, 2 => 3, 3=> 5, 4=> 10);
$c = array_diff($b, $a);
var_dump($c);
?>

输出:

array (size=2)
  3 => int 5
  4 => int 10