Simone: Php Array Permutation nach festen Muster

Beitrag lesen

Hi, Danke für Deine Gedanken.

Ich habe es jetzt so umgesetzt.

echo "<pre>";
$ausgangswort = 'hotelfachfrau';
$strlen_ausgangswort  = mb_strlen($ausgangswort);

$data ='
[{"0":"hotel","2":"tel","3":"elf","5":"fach","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotel","2":"tel","3":"elf","5":"fach","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hotel","2":"tel","3":"elf","5":"fachfrau","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotel","2":"tel","3":"elf","5":"fachfrau","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hotel","2":"tel","3":"elf","5":"fac","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotel","2":"tel","3":"elf","5":"fac","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hotelfach","2":"tel","3":"elf","5":"fach","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotelfach","2":"tel","3":"elf","5":"fach","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hotelfach","2":"tel","3":"elf","5":"fachfrau","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotelfach","2":"tel","3":"elf","5":"fachfrau","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hotelfach","2":"tel","3":"elf","5":"fac","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotelfach","2":"tel","3":"elf","5":"fac","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hotelfachfrau","2":"tel","3":"elf","5":"fach","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotelfachfrau","2":"tel","3":"elf","5":"fach","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hotelfachfrau","2":"tel","3":"elf","5":"fachfrau","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotelfachfrau","2":"tel","3":"elf","5":"fachfrau","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hotelfachfrau","2":"tel","3":"elf","5":"fac","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hotelfachfrau","2":"tel","3":"elf","5":"fac","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hot","2":"tel","3":"elf","5":"fach","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hot","2":"tel","3":"elf","5":"fach","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hot","2":"tel","3":"elf","5":"fachfrau","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hot","2":"tel","3":"elf","5":"fachfrau","6":"ach","7":"chf","9":"fra","10":"rau"},{"0":"hot","2":"tel","3":"elf","5":"fac","6":"ach","7":"chf","9":"frau","10":"rau"},{"0":"hot","2":"tel","3":"elf","5":"fac","6":"ach","7":"chf","9":"fra","10":"rau"}]';


$json_array = json_decode($data,true);

$array_kombi = array();
foreach($json_array as $teil_str_array)
{
	$teil_str_val = $teil_str_array[0];
	$strlen_teil_str_wort = $strlen_teil_str  = mb_strlen($teil_str_val);
	$temp_w_z= $temp_w = $teil_str_val;

	foreach($teil_str_array as $key => $teil_str_wort)
	{
		if($key === 0)
		{
			continue;
		}

		if($key < $strlen_teil_str)
		{
			continue;
		}

		if($key >= $strlen_teil_str_wort)
		{
			$temp_w = $temp_w.$teil_str_wort;
			$strlen_teil_str_wort  = mb_strlen($temp_w);
			$temp_w_z = trim($temp_w_z.'|'.$teil_str_wort);

			if($strlen_ausgangswort === $strlen_teil_str_wort)
			{
				if (!in_array($temp_w_z, $array_kombi))
				{
					$array_kombi[] = $temp_w_z;
					echo $temp_w_z.'<br>';
				}
			}
		}
	}
}


print_r($json_array);
print_r($array_kombi);

echo "</pre>";