$str = "abc cba xyz zyx zwx love high xzyyzx acbbca";
$array = explode(" ", $str);
$newArray = array();
foreach ($array as $value){
$length = strlen($value);
$newArray[$length][] = $value;//长度一样的存在一个数组
}
$array1 = array();
$array2 = array();
$str1 = '';
foreach ($newArray as $key => $value) {
foreach ($value as $k =>$val) {
for ($i=0; $i <= strlen($val)-1; $i++) {
$str1 = $val[$i];
for ($j=0; $j <= strlen($val) -1; $j++) {
if ($i == $j) {
continue;
}
$str2 = $str1 . $val[$j];
for ($l=0; $l <= strlen($val) - 1; $l++) {
if ($i == $l || $j == $l) {
continue;
}
$str3 = $str2 . $val[$l];
$array1[$key][$k][] = $str3;
if ($k-1 >= 0) {
foreach($array1[$key][$k-1] as $v) {
$array2[] = $v.$str3;
}
}
$str3 = '';
}
$str2 = '';
}
$str1 = '';
}
}
}
$array3 = array();
foreach ($array as $key => $value) {
if (in_array($value,$array2)) {
$array3[] = $value;
}
}
var_dump($array3);
?>