Php 说两个数组中有多少项是相同的?
在PHP和MySQL中是否有一种方法可以比较两个不同的数组(列表)变量,并说出有多少项是相同的 比如说,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
$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);