Simone: Php Array Permutation nach festen Muster

Beitrag lesen

Hallo Rolf,

ich bedanke mich für Deine Magie!

werde mich Zeile für Zeile durch Deinen Quelltext arbeiten.

In der Tat habe ich auf eine Permutation zurückgegriffen.

function permu(array $array, $inb=false)
{
	switch (count($array)) {
		case 1:
		return $array[0];
		break;
		case 0:
		break;
	}

	$keys = array_keys($array);

	#print_r($keys);

	$a = array_shift($array);
	$k = array_shift($keys); 


	#print_r($a);

	$b = permu($array, 'recursing');

	$return = array();
	foreach ($a as $v) {
		if($v)
		{
			foreach ($b as $v2) {
				

				$v2 = is_array($v2) ? $v2 : array($v2);

				if($inb == 'recursing')
				$return[] = array_merge(array($v), (array) $v2);
				else
				$return[] = array($k => $v) + array_combine($keys, $v2);
			}
		}
	}

	return $return;
}