我有一个值为$array_metaValue
Array ( [0] => php [1] => ajax [2] => my [3] => profile [4] => java )
和第二个数组包含:$search_res[$e]
php
ajax
但问题是计数值总是错误的。应该是2。
print_r( $array_metaValue);
for($e=0;$e<=count($search_res);$e++){
echo '<br>'.$search_res[$e].'<br>';
echo '<pre>';
$key = array_search($search_res[$e],$array_metaValue);
if(!$key==0)
{
$count=$count+1;
}
$ count现在节省1。
答案 0 :(得分:2)
使用
$count = count(array_intersect($array_metaValue, $search_res));
array_intersect
返回一个数组,其中包含两个输入数组中的元素。
您的代码存在的问题是您需要测试
if ($key !== false)
答案 1 :(得分:1)
试试这个
$arrInp = array('php','ajax','my','profile','java');
$arrSearch = array('php','ajax');
$count = 0;
foreach ($arrSearch as $key => $value) {
if(in_array(trim($value), $arrInp))
$count++;
}
echo $count;
答案 2 :(得分:0)
<?php
$array_metaValue=array('php','ajax','profile','java');
$search_res=array('php','ajax');
print_r($array_metaValue);
$count=0;
for($e=0;$e<count($search_res);$e++){
echo '<br>'.$search_res[$e].'<br>';
$key = array_search($search_res[$e],$array_metaValue);
echo 'Key value =>'.$key. " ";
if($key>=0)
{
$count=$count+1;
echo 'Count value =>'.$count;
}
}
?>