比较两个数组的值

时间:2015-05-29 10:55:42

标签: php arrays comparison

我有两个数组,其中包含一些数据,用于定义用户是否可以访问本文。该文章将被标记到客户端,即ClientA,ClientB和用户在创建时将被分配客户端访问标记。我想要比较两个数组,如果他们至少有一个我将给他们访问,如果没有,那么他们将被重定向。

数组的结构如下:

array(1) {
    [0] "ClientA"
}

array(3) {
    [0] "ClientA"
    [1] "ClientB"
    [2] "ClientC"
}

我试图使用in_array,但这已经返回为假,例如。

//$articleClient is the array with one value and $client is the 
//array with 3 values
if (!in_array($articleClient, $client)) {
    dd('no access');
}

关于如何比较数组以查看是否存在至少一个值的任何想法?

4 个答案:

答案 0 :(得分:2)

在php中使用函数array_intersect函数。例如:

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");

$result=array_intersect($a1,$a2)

if (count($result)>=1)
{
    //give access to the user
}

link:http://www.w3schools.com/php/func_array_intersect.asp

答案 1 :(得分:1)

使用array_intersect()功能

答案 2 :(得分:1)

$result = array_intersect($array1, $array2);

if(sizeof($result)>0)
{
//match
}else
{
//no match
}

答案 3 :(得分:1)

试试这个

$common = array_intersect($articleClient, $client)    
if (count($common) < 1) {
            dd('no access');
        }