Simone: Php Array Permutation nach festen Muster

Beitrag lesen

Hi Rolf,

Danke nochmal für Deine Funktion!

Eine kleine Ergänzung noch für die Nachwelt:

Hier die Fassung für Umlaute und Co.:

alt: try_at_position($pos+strlen($teil), $partChain, $zielLänge, $index, $chains);

neu: try_at_position($pos+mb_strlen($teil), $partChain, $zielLänge, $index, $chains);

function try_at_position($pos, &$partChain, $zielLänge, $index, &$chains)
{
   if ($pos == $zielLänge)
   {
	  $chains[] = implode("|", $partChain);
	  return;
   }
   if (!isset($index[$pos]))
      return;
	  
   foreach ($index[$pos] as $teil) 
   {
         array_push($partChain, $teil);
         try_at_position($pos+mb_strlen($teil), $partChain, $zielLänge, $index, $chains);
         array_pop($partChain);
   }
}