muenzchen: In foreach Schleife herausfinden ob letztes Array Element?

Hallo,

kann ich während einer foreach Schleife herausfinden, ob gerade das letzte Element im Array bearbeitet wird?
Sonst muss ich wieder mit einer for Schleife arbeiten und da muss man immer soviel mehr schreiben ;)

MfG, muenzchen

  1. Sonst muss ich wieder mit einer for Schleife arbeiten und da muss man immer soviel mehr schreiben ;)

    Sie ist aber viel besser

    1. Hallo,

      Sie ist aber viel besser

      Aber umständlicher. Aber mir bleibt wohl nichts anderes übrig.

      MfG, muenzchen

    2. Genau.
      Wenn du nämlich sowas vor hast

      for ($i=0;$i<sizeof($array);$i++)
        if ($i==sizeof($array.length)) ... ;
        else ... ;

      , dann kannst du's auch so gestalten

      for ($i=0;$i<sizeof($array)-1;$i++) ... ;
      ... ;

      Toll 'ne?

      1. Hallo,

        Schon klar, ich machs immer mit count(). Ich möchte nur solange etwas an die Elemente anhänge, bis das letzte Element erreicht ist, da soll nichts mehr angehängt werden. Da fidne ich das Arbeiten mit $array[$i] eben irgendwie unübersichtlich, aber da kann man wohl nichts machen :)

        MfG, muenzchen

  2. Hallo.
    Ich glaube eine For-Schleife ist genau das richtige für dich.

  3. Hi,

    kann ich während einer foreach Schleife herausfinden, ob gerade das letzte Element im Array bearbeitet wird?

    IMHO ist das nur möglich, wenn dein Array mit einem durchlaufenden numerischen Index erstellt wurde, denn dann kannst du die Abfrage über den aktuellen Index regeln:

    <?php

    foreach ($_array as $key => $val) {

    if (($key - 1) == count($_array)) {

    // letztes Element

    }

    // oder

    if (!isset($_array[($key + 1)])) {

    // letztes Element

    }

    }

    ?>

    Gruß,
    Andreas.