如何在主字符串中找到多个逗号分隔的字符串

mad*_*ddy -1 php string

我有这个主要的刺痛.

S,SR,DSR,DS,FX,FXS,SR,DS,S,SR,DS,FX,S,SR,DS,FX,FXS
Run Code Online (Sandbox Code Playgroud)

我想找到以下每个字符串..

DSRFXS

我试过通过以下代码,但它不能给我完美的结果.

码...

<?php
    $mainstring ="S,SR,DSR,DS,FX,FXS,SR,DS,S,SR,DS,FX,S,SR,DS,FX,FXS";
    $needed = "DSR,FXS";

    if( strpos( $mainstring, $needed ) !== false ) {
        echo "Found";
    }else{
        echo "Not match";
    }
?>
Run Code Online (Sandbox Code Playgroud)

Mat*_*hai 5

一种解决方案是用逗号分解这些字符串,并验证结果数组的交集计数是否与搜索相同:

$mainstring ="S,SR,DSR,DS,FX,FXS,SR,DS,S,SR,DS,FX,S,SR,DS,FX,FXS";
$needed = "DSR,FXS";

$mainStringArr = explode(',', $mainstring);
$neededArr = explode(',', $needed);

if (count(array_unique(array_intersect($mainStringArr, $neededArr))) == count($neededArr)) {
    echo 'found';
} else {
    echo 'not found';
}
Run Code Online (Sandbox Code Playgroud)