Reto Strub: Offset-Fehler

Hallo Forum

Habe folgendes Problem; wenn ich mein Script öffne, bekomme ich den Fehler (Notice):

Notice: Undefined offset: 10 in D:\wampp2c\htdocs\Member\htaccess.php on line 311
Notice: Undefined offset: 10 in D:\wampp2c\htdocs\Member\htaccess.php on line 307

Kann mir jemand sagen warum ???
-------------------------------------------------------------------
Script:

305> <?PHP
306>   $x=1;
307>   while($Akt_User[$x] != "")
308>   {
309>     echo("<b>".$Akt_User[$x] . "</b>");
310>     $y = $x + 1;
311>     if($Akt_User[$y] != "") echo(" / ");
312>     $x++;
313>   }
314> ?>

Grüsse aus der Schweiz
Reto--
SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
sh:( fo:) ch:? rl:? br:$ n4:& ie:| mo:| va:) de:] zu:) fl:{ ss:| ls:[ js:(

  1. Notice: Undefined offset: 10 in D:\wampp2c\htdocs\Member\htaccess.php on line 311
    Notice: Undefined offset: 10 in D:\wampp2c\htdocs\Member\htaccess.php on line 307

    Kann mir jemand sagen warum ???

    Gewagte Annahme: Es existiert kein Eintrag an der Position 10 in Deinem Feld, weil Du keinen Eintrag an der Position 10 angelegt hast?

    Gruß,
      soenk.e

    PS: Verschaffe Dir Klarheit über den Inhalt des Feldes mit print_r() oder var_dump() und prüfe, ob etwas überhaupt existiert, bevor Du es benutzt (isset() hilt).

    1. Es gibt keinen Eintrag 10 !!! Der ist = ""

      Warum komme ich dann trotzdem in diese Schleife ?

      Gruss Reto

      1. hi!

        Es gibt keinen Eintrag 10 !!! Der ist = ""

        was denn nun? gibts keinen eintrag 10 oder ist er ""? das ist ein unterschied.

        Warum komme ich dann trotzdem in diese Schleife ?

        ich gehe davon aus, dass Sönke Tesch recht hat, also $Akt_User[10] nicht definiert ist.
        dann passiert in etwa folgendes:
        angenommen es existiert das array $Akt_User mit 10 elementen 0 bis 9.
        bei deinem codeschnipsel wird $x mit 1 initialisiert und dann bei jedem durchlauf um 1 inkrementiert.
        ...soweit so gut...
        sobald $x==9, wird $y (in 311: $y = $x + 1;) auf 10 gesetzt.
        somit ist $Akt_User[$y], also $Akt_User[10], undefined, sodass zeile 311 einen fehler verursacht.
        anschliessend wird in zeile 307 nochmal $Akt_User[10] abgefragt, was den zweiten fehler begruendet.

        prost
        seth

        1. Warum komme ich dann trotzdem in diese Schleife ?

          sobald $x==9, wird $y (in 311: $y = $x + 1;) auf 10 gesetzt.
          somit ist $Akt_User[$y], also $Akt_User[10], undefined, sodass zeile 311 einen fehler verursacht.
          anschliessend wird in zeile 307 nochmal $Akt_User[10] abgefragt, was den zweiten fehler begruendet.

          Oder in einem Satz: Auch ein Vergleich erfordert das Auslesen der Variable - existiert sie nicht, gibt's einen Fehler.

          Gruß,
            soenk.e

          1. Besten Dank

            Das wars, die Variable hatte am platz 10 keinen Eintrag; habe es mit isset() gelöst.

            Grüsse aus der Schweiz
            R. Strub