[PHP] Schleifen Problem

06/14/2013 10:19 DerSaboteur#1
Hey,

Ich bin grad dabei PHP zu lernen hab das früher schonmal gemacht ein oder zwei Jahre her aber da ich keine Zeit mehr hatte konnte ich es nicht wirklich 100%ig lernen
bin grad wieder bei den schleifen..

PHP Code:
<?php

while ( $wert )
{
    echo 
"Nr. $wert <br />";
    
$wert++;
}

?>
Das ist mein Code wie er auch im Tutorial ist.. hab die Tutorials von [Only registered and activated users can see links. Click Here To Register...]
Also bei ihm wird keine Fehler meldung angezeigt bei mir aber schon..

Code:
Notice: Undefined variable: wert in C:\xampp\htdocs\schleifen.php on line 3

Notice: Undefined variable: wert in C:\xampp\htdocs\schleifen.php on line 5
Nr. 

Notice: Undefined variable: wert in C:\xampp\htdocs\schleifen.php on line 6
Nr. 1 
Nr. 2 
Nr. 3 
Nr. 4
Warum wird mir dieser fehler angezeigt?

€dit: wird ja gesagt "Undefined variable" muss ich unbedingt eine setzen? er hatte ohne auch keine fehlermeldung.
€dit 2: ich hab dem jetzt einen wert gegeben keine fehlermeldung mehr aber die frage ist warum hat er keinen?

Mfg DerSaboteur
06/14/2013 10:29 DarcKilla#2
Laut deiner Schleife hat $wert keinen Wert ...
Warum? Um es genauer zu sagen eine "Startposition" aka => $wert = 0;
In deinem Fall wäre es wie in Mathematik mit "x"
Das Programm (XAMPP) kann mit "x" nichts anfangen.
Immer merken bei schleifen mit zahlen/werten -> Startposition/Endposition/Sprungwert
06/14/2013 10:47 DerSaboteur#3
Danke aber warum hatte er keine fehlermeldung? Wir nutzen das selbe programm und xxamp nutzt er auch..
06/14/2013 11:02 Muddy Waters#4
Weil er andere Einstellungen für die Fehlerausgabe verwendet als du, siehe: [Only registered and activated users can see links. Click Here To Register...]
Wobei du auch eine Standardeinstellung in deiner php.ini festlegen kannst.

Das ganze funktioniert in diesem Fall nur, weil die PHP-Laufzeitumgebung deine Variable implizit initialisiert - es wird also angenommen, dass deine Variable ein Integer Wert sein soll und damit weitergearbeitet.

Natürlich kann so eine durch die PHP-Laufzeitumgebung gemachte Annahme auch falsch sein, was dann zur Folge hätte, dass sich dein Code anders verhält, als du es eigentlich möchtest.
Aus diesem Grund wird ein Hinweis (i.e. Notice) ausgegeben, welcher dich darauf aufmerksam macht, dass hier eine Eigenschaft angenommen worden ist, die du so nicht explizit festgelegt hast.
06/14/2013 11:06 DerSaboteur#5
Dankeschoen das war doch mal eine Ausführliche erklärung.