Tom: Wie geht $array[$i..$j] in PHP?

Beitrag lesen

Hello,

$j ist $i+4;

So, jetzt möchte ich folgendes machen:

$z=implode("<br>", $array[$i..$j]);

Was das bezwecken soll: Die Variable $z soll Unter Verwendung von "<br>" Die zusammengeführten Werte von $array erhalten, allerdings NUR die Werte des Arrays $array[i], $array[i+1], array[i+2], array[i+3] und array[i+4].

Es gibt verschíedene Möglichkeiten. dazu solltest Du erst einmla wissen, wie "Arrays" in PHP überhaupt aufgebaut sind:

<img src="http://bitworks.de/~selfHTML/EinfachesArray500.gif" border="0" alt="">

Das Array ist eine verkettete Liste von einzelnen Datenstrukturen im Speicher. Jede kennt ihren Vorgänger und ihren Nachfolger. Jede enthält einen Schlüssel und einen Wert und noch ein paar weitere Informationen, die uns nicht interessieren. Der Schlüssel kann numerisch sein oder auch ein Semaphor (String). Die Position in der Kette hat nichts mit dem Schlüssel zu tun. Allerdings kann man die Elemente nach dem Schlüssel in der Kette sortieren lassen.

Anstelle eines Wertes kann man auch den Zeiger auf ein nächstes Array-Element eintragen. Dadurch entsteht eine Verzweigung. Einen skalaren Wert kann dieses Element dann aber nicht mehr tragen. es dient dann ausschließlich als Knoten oder Dimensionsübergang.

<img src="http://bitworks.de/~selfHTML/VerzweigtesArray500.gif" border="0" alt="">

Wenn Du nun sagst, Du möchtest die Elemente

$_data[$i]
  $_data[$i+1]
  $_data[$i+2]
  $_data[$i+3]

aus dem Array herauskopieren oder ausschneiden, dann musst Du vorher erstmal genau wissen, ob $i+x die eingetragenen Schlüssel im Array sind, oder ob dadurch die Position in der Kette gekennzeichnet wird.

Wenn es die eingetragenen Schlüssel sind, musst Du sicher sein, dass diese auch vorhanden sind, bzw. dies abfragen. Dann kassnt Du eine For-Schleife aufbauen, die dir gezielt diese Elemente beschafft.

Anderenfalls schau Dir mal die Funktionen Array_Slice() und Array_Splice() an, die mit der Position in der Kette arbeiten.

http://de3.php.net/manual/de/function.array-slice.php
http://de3.php.net/manual/de/function.array-splice.php

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen