Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 说两个数组中有多少项是相同的?_Php_Mysql_Arrays - Fatal编程技术网

Php 说两个数组中有多少项是相同的?

Php 说两个数组中有多少项是相同的?,php,mysql,arrays,Php,Mysql,Arrays,在PHP和MySQL中是否有一种方法可以比较两个不同的数组(列表)变量,并说出有多少项是相同的 比如说, $array1 = "hello, bye, google, laptop, yes"; $array2 = "google, bye, windows, no, phone"; 然后一个echo语句会说有多少项是相同的。在这个例子中,它将是2,这将是回声 这与大多数数组问题不同,因为我的站点是用逗号设置的,这会使它变得非常复杂试试php中的array\u intersect()函数 &l

在PHP和MySQL中是否有一种方法可以比较两个不同的数组(列表)变量,并说出有多少项是相同的

比如说,

$array1 = "hello, bye, google, laptop, yes";
$array2 = "google, bye, windows, no, phone";
然后一个echo语句会说有多少项是相同的。在这个例子中,它将是2,这将是回声

这与大多数数组问题不同,因为我的站点是用逗号设置的,这会使它变得非常复杂

试试php中的
array\u intersect()
函数

<?php

$array1 = array("a" => "green", "red", "blue");

$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r(count($result));
?>

您可以使用
count()
函数对输出数组中的元素进行计数


首先,您必须使用trim将字符串转换为数组。然后使用
array\u intersect
获取公共值

$array1 = "hello, bye, google, laptop, yes";
$array2 = "google, bye, windows, no, phone";
$array_new1 = array_map('trim', explode(',', $array1));
$array_new2 =array_map('trim', explode(',', $array2));
$common = array_intersect($array_new1, $array_new2);
print_r($common);
echo count($common);

可能的复制品我看不出这和MySQL@somerandomgizza检查我下面的答案,这是因为数组来自MySQL数据库,但当然没有任何区别
$array_new1  = explode(',',$array1);
$array_new2  = explode(',',$array2);

    $array_1 = array_map('trim', $array_new1);
    $array_2 = array_map('trim', $array_new2);

$data =array();
 foreach($array_2 as $value){ 
     if(in_array($value,$array_1)){    
       $data[] = $value; 
     } 
 }
  echo count($data);