比较两个数组并得到匹配的数组

时间:2016-09-28 04:13:55

标签: php

您好我有以下代码结构

$gender = array('girl','boy','men','women');
$content = array('Fastrack men watch');

我想在内容中搜索性别并返回其中的特定性别,如下所示

$result='men'

如果任何性别匹配,它会在内容数组中搜索它应该返回该性别名称

提前谢谢

4 个答案:

答案 0 :(得分:1)

$gender = array('girl','boy','men','women');
$content = array('Fastrack men watch');
$ret=array();
foreach($gender as $val){
$pos = strpos($content[0], $val);
    if($pos!=false){
    $ret[]=$val;    
    }
}
echo "The gender found ".implode(',',$ret);

答案 1 :(得分:0)

$gender = array('girl','boy','men','women');
$content = array('Fastrack men watch');
$data= explode(" ",$content[0]);

$result = array_intersect($gender, $data);

这样我就找到了确切的结果 感谢您的指导

答案 2 :(得分:0)

        $gender_array = array('girl','boy','men','women');
        $content = 'Fastrack women watch girl';
        $content_array = explode(" ",$content);

        $result ="";
        foreach ($gender_array as $gender) {
           if(in_array($gender, $content_array)){
           $result = $result.",".$gender;
           }
        }
       echo $result = trim($result, ','); 

这显示了一个或多个性别的性别.. 例如:$ content ='Fastrack women girl boy watch'; 作为女孩,男孩,女人的结果

答案 3 :(得分:0)

您可以使用array_intersect()执行所需的操作。

array_intersect() - 计算数组的交集

array_intersect()返回一个数组,其中包含所有参数中存在的array1的所有值。请注意,密钥会被保留。

array_intersect()函数比较两个(或更多)数组的值,并返回匹配项。

此函数比较两个或多个数组的值,并返回一个数组,其中包含array2,array3等中存在的array1中的条目。

  

返回值:返回一个数组,其中包含array1中所有其他数组中的条目。

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

$result=array_intersect($a1,$a2);
print_r($result);
?>

<强>输出:

Array ( [a] => red [b] => green [c] => blue )
  

注意:当且仅当(字符串)$ elem1 ===(字符串)$ elem2时,才认为两个元素相等。用文字表示:当字符串表示相同时。