Ankerlink an den Anfang der Seite
peas 610184 1920
Generic filters
Filter by Kategorien

Zwei Arrays ( $a1 und $a2 ) mit einer unterschiedlichen Anzahl von Elementen sollen zu einem Array werden. Allerdings soll nur jedes xte($mixrel) Element aus dem zweiten Array sein, die anderen aus dem ersten, und optional ($first = true) soll das zusammengeführte Array mit einem Element aus dem zweiten beginnen können. Sind die Elemente eines der beteiligten Arrays aufgebraucht, kommen ab diesem Punkt nur noch Elemente des anderen.

function array_mixin($a1,$a2,$mixrel,$first=false) {
	if ($mixrel==0) return $a1; elseif ($mixrel==1) return array_merge($a2,$a1);
		if (!is_array($a1) || !is_array($a2) || count($a2)==0) return $a1;
    if (count($a1)==0) return $a2;
    
	$mixrel=floor($mixrel+.5)-1;

    $result=array();
    if ( $first ) array_push($result,array_shift($a2));
    for($i=1;count($a1);$i++)
	  { array_push($result,array_shift($a1));
	    if (count($a2)==0) break;
	    if($i%$mixrel==0) array_push($result,array_shift($a2));
	  }
    
	return array_merge($result,$a2,$a1);
}

Bitte das Kommentarfeld nicht für Supportanfragen nutzen; hier kann kein Support angeboten werden. Die Angabe von Name oder E-Mail-Adresse ist optional, ein Spitzname wäre trotzdem nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.