• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

array-Funktion gesucht

thuemmy

Aktives Mitglied
Ich habe zwar schon bei php.net einige array-Funktionen angeguckt, aber das was ich suche, war noch nicht dabei. Bevor ich jetzt noch die restlichen 30-40 Funktionen angucke, um dann doch festzustellen, dass es sie nicht gibt, frage ich hier, ob da jemand was weiß.

Folgende Vorraussetzung:
Array:
[0] - Bild0
[1] - Bild1
[2] - Bild2
[3] - Bild3
[4] - Bild4

Nun möchte ich z.B. folgendes Ergebnis erhalten

[0] - Bild2
[1] - Bild3
[2] - Bild4
[3] - Bild0
[4] - Bild1

Vielleicht weiß ja jemand was. Wenn nicht, werde ich wohl eine eigene Funktion machen müssen.

Gruß thuemmy
 
Vielen Dank für den Tipp, aber das hatte ich mir vorher schon angeguckt, und das ist es leider nicht, da shuffle zufällig mischt, und nicht nur einfach "rotiert".

Gruß thuemmy
 
PHP:
function bla($array, $key) {
	$new = array();
	$buf = array();
	$start = false;
	foreach($array as $k => $v) {
		if($start || $key === $k) {
			$start = true;
			$new[] = $v;
		} else {
			$buf[] = $v;
		}
	}
	
	return $new + $buf;
}

du gibst als ersten parameter das array an und im zweiten den key des eintrags der als erstes im array sein soll. danach sind die keys aber alle neu gesetzt könnte ja evtl von bedeutung sein ^^
 
Hi,

sowas habe ich auch schonmal gebraucht und stand vor dem gleichen Problem ;)

Ich hätte da auch noch eine Funktion anzubieten:

php4yourself.de - Arrayelemente rotieren lassen

Als zweiten Parameter gibst du hier aber nicht den Key sondern den Wert an, der das erste Arrayelement werden soll!

Gebraucht habe ich diese Funktion, ähnlich wie du, auch für die Anordnung von Grafiken. Schließich habe ich Sie bei einer Kreisnavigation verwendet: http://www.php4yourself.de/werbeplaetze/ :)

Gruß
 
Zuletzt bearbeitet:
das problem bei der funktion ist das werte in einem array doppelt vorkommen können keys hingegen sind einzigartig ^^
 
Hi,

das ist richtig, jedoch beinhaltet sein Array Pfade zu Bildern und diese sollten auch einzigartig sein! ;) Es kommt immer ganz auf die Anwendung an!
 
So, ich habe jetzt erstmal alles überflogen und vielen Dank Euch allen. Da ich wohl gleich mein System neu aufsetzen muss, wenn mir stinger nicht weiterhilft, wird das erstmal etwas dauern, bis ich mich damit weiter berschäftige.

Gruß thuemmy
 
Folgende Situation...

OS: WinXP Home SP3

ich habe ein Programm heruntergeladen, mit Antivir überprüft und danach gestartet. Die Beschriftungen im Programm waren nur komische Zeichen. Programm wieder beendet und kurz danach machte der PC einen Neustart. Beim neustart startete AntiVir nicht mit. Versuche das Anti'Vir-Desktop-Programm zu starten schlugen fehl. HiJackThis zu starten schlug fehl. Installation von Kaspersky AntiVir schlug fehl. In der Zwischenzeit habe ich MozBack laufen lassen, Daten auf CS gebrannt, Stinger läuft jetzt, werde auch nachher noch FixBlast und FxSasser laufen lassen...

Wobei es nicht so schlimm ist, wenn ich das System neu aufsetze, das hatte ich schon lange vor. Ist halt nur ein ungünstiger Augenblick. Obwohl, ungünstig ist es eigentlich immer, sonst hätte ich es ja schon längst gemacht.

Gruß thuemmy
 
So, mein System läuft wieder, und das Problem mit dem Array habe ich auch gelöst. Beim Programieren ist mir aufgefallen, dass ich das sich ändernde Array gar nicht brauche.

An alle nochmal vielen Dank und

Gruß thuemmy
 
Zurück
Oben