php多个字符判断字符串里是否包含如果包含就列出来

$name = "a,b,c";
$body = "acght";
$body里是否包含a,b,c如果包含就列出来
得到的结果是a,c
麻烦直接给个代码谢谢了


        $name = "a,b,c";
        $body = "acght";
        $nameArr = explode(',', $name);
        $res = [];
        foreach($nameArr as $value) {
            if (strpos($body, $value) !== false) {
                array_push($res, $value);
            }
        }
        $res = implode(',', $res);
        echo $res;

方法就是两数组求交集


        $name = "a,b,c";
        $body = "acghtaaaa";
        $name = explode(',', $name);
        $body = str_split($body);

        //求两数组的交集,不排除重复
        $array=array_intersect($body, $name);
        echo implode(',', $array);


        echo "<br />";
        //求两数组的交集,剔除除重复
        $array=array_unique(array_intersect($body, $name));
        echo implode(',', $array);