Variable wird nicht erkannt

Ja, genau ;)

PHP kennt halt das globale Scope und halt den von Funktionen und Klassen.

Dazwischen wird nichts unterschieden, ja. ;)

Aber in dieser Unterscheidung ist es stringent.
 
Und deshalb stimmt auch dieses Beispiel nicht:

PHP:
$a = 1; //beginn von a
if( $a == 1 ){ // a sichtbar
  $b = 1; //beginn von b
  if( $b == 1 ){ // a+b sichtbar
    $c = 1; //beginn von c 
    //a+b+c sichtbar
  } //ende von c
  echo '$b ist noch sichtbar';
}//ende von b
echo 'nur noch $a ist sichtbar';

Da alle Bedingungen erfüllt waren, sind nach der Kontrollstruktur auch alle drei Variablen definiert. Bei jdgf war die Variable wegen nicht erfüllter Bedingungen nicht definiert. Das hat nichts mit dem Gültigkeitsbereich von Variablen (der hier der gleiche ist) zu tun. Nur so am Rande...

LG
 
Zurück