Chrisi: Array Postion verändern

Hallo Forumler,

ich suche nach einer Möglichkeit die aktuelle Postion im Array um genau einen Index nach vorn zu schieben, kann aber nichts finden das mir dabei hilft.

Den Schlüssel bekomme ich mit key(), nun möchte ich meinen array aber nicht extra auslesen um so die Postion zu verändern sondern einfach nur um eins weiter schieben ...

$ary = array = ("k1"=>1,"k2"=>2);

key($ary);             // k1
schiebearray($ary,+1); // Das ist das was ich suche ...
key($ary);             // k2

Weis vieleicht jemand ob sowas geht ?

Viele Grüße und danke, Chrisi ...

  1. ich suche nach einer Möglichkeit die aktuelle Postion im Array um genau einen Index nach vorn zu schieben, kann aber nichts finden das mir dabei hilft.

    next

    1. next

      Das bringt mich nur dem nächsten Wert entgegen, verschiebt aber nicht die Position um +1 :)

      Mein Vorhaben läuft in einer for Schleife, diese liest andere Arrays aus, und soll in sich einen 2ten Array bei jedem Durchlauf um eine Postion verschieben, somit könnte ich dann mit key() vom zweiten array jeweils den Key jolen.

      Gibt es da vieleicht eine Möglichkeit ?

      Viele Grüße, Chrisi ...

      1. next

        Das bringt mich nur dem nächsten Wert entgegen, verschiebt aber nicht die Position um +1 :)

        Zitat:

        next() verhält sich ähnlich wie current(), mit einem Unterschied. [b]Der interne Zeiger wird um ein Element vorgerückt, bevor das Element zurückgegeben wird, d.h. es wird das nächste Element zurückgegeben, und der interne Zeiger um eins erhöht.[/b] Zeigt der interne Zeiger hinter das Ende der Elementliste, wird FALSE zurückgegeben.

  2. Hi,

    ich suche nach einer Möglichkeit die aktuelle Postion im Array um genau einen Index nach vorn zu schieben, kann aber nichts finden das mir dabei hilft.

    dazu benutzt man u.a. each. Dabei wird der Zeiger um eins weitergesetzt und das naechste Schluessel-Wertpaar zurueckgegeben. Mit prev kommt man wieder zurueck.

    Solche Dinge kannst Du im Manual nachlesen.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hi,

      dazu benutzt man u.a. each.

      Das wars was ich gesucht habe, danke :)

      Und einen schönen Sonntag noch ...

  3. Hello,

    das hängt davon ab, welche Position Du "verschieben" willst.

    Arrays sind in PHP keine geschlossenen Strukturen gleicher Elemente, sondern Baumstrukturen.
    Jedes Element trägt einen "Index" und einen "Wert", der aber auch wieder einen Zeiger für einen "Abzweig" enthalten kann.

    Wird durch Umwandlung eines skalaren Wertes im Knoten zu einem Zeiger zu

    Wenn Du nun die Position eines Elementes in der Kette verschieben willst, musst Du das Array in der richtigen Reihenfolge neu aufbauen. Dazu kannst Du ggf. auch die Funktionen
    array_slice()  http://de3.php.net/manual/de/function.array-slice.php
    arraysplice()  http://de3.php.net/manual/de/function.array-splice.php

    verwenden.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau