Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php使用空格消除器基于给定字符串生成多个字符串_Php_String - Fatal编程技术网

php使用空格消除器基于给定字符串生成多个字符串

php使用空格消除器基于给定字符串生成多个字符串,php,string,Php,String,如何使用空格分隔符根据给定字符串生成多个字符串。 前任。: 我有一根像 例:1 “这是字符串” 将输出以下字符串: “这是”、“这个字符串”、“是字符串” $arrStrSplit = explode($splitBy, $strInfo); for($outer = 0; $outer < count($arrStrSplit); $outer++) { for($inner = $outer+1; $inner < count($arrStrSplit); $inner+

如何使用空格分隔符根据给定字符串生成多个字符串。 前任。: 我有一根像

例:1
“这是字符串”
将输出以下字符串:
“这是”、“这个字符串”、“是字符串”

$arrStrSplit = explode($splitBy, $strInfo);
for($outer = 0; $outer < count($arrStrSplit); $outer++)
{
    for($inner = $outer+1; $inner < count($arrStrSplit); $inner++)
    {
        array_push($arrStrSplitPair, $arrStrSplit[$outer].' '.$arrStrSplit[$inner]);
    }
}
  Output:

  'This is', 'This new', 'This string', 'is new', 'is string', 'new string',
  'This is new', 'This is string', 'This new string', 'is new string'
依此类推:输入字符串有任意数量的单词。从2号到15-20号等等

i、 e.字串数量从2到(给定字串的字串数量-1)

经过多次更新后

$string='这是新字符串';
$array=explode(“”,$string);
功能电源集($in,$minLength=1){
$count=计数(单位:$in);
$members=pow(2$count);
$return=array();
对于($i=0;$i<$members;$i++){
$b=sprintf(“%0”。$count.b”,$i);
$out=array();
对于($j=0;$j<$count;$j++){
如果($b{$j}='1')$out[]=$in[$j];
}
如果(计数($out)>=$minLength){
$return[]=$out;
}
}
return$return;
} 
$sets=功率集($array,1);
我就这么想!
致以最良好的祝愿

可能的副本。您所要做的就是分解(“”,$string)以获得数组:)。在此过程中,还将生成重复的sting。。例如,“Alpha-Beta”和“Alpha-Beta”,即单词的组合应该是唯一的。从左向右流动。
$string = 'This is new string';
$array = explode(' ', $string);

function powerSet($in, $minLength = 1) {
    $count = count($in);
    $members = pow(2,$count);
    $return = array();
    for ($i = 0; $i < $members; $i++) {
        $b = sprintf("%0".$count."b",$i);
        $out = array();
        for ($j = 0; $j < $count; $j++) {
            if ($b{$j} == '1') $out[] = $in[$j];
        }
        if (count($out) >= $minLength) {
            $return[] = $out;
        }
    }
    return $return;
} 
$sets = powerSet($array, 1);