Impressum
GoTo:
Home
 
Médecins Sans Frontières | Ärzte ohne Grenzen Cafe BilderBuch   
 
Lesezeichen [ Jobs # QR-Code # Haikus ]Mi 11 Dez 2024 06:48:00


 huecker.com # Grundlagen der Programmierung.
--

 

. PHP L e k t i o n e n ( Wed Dec 11 06:48:00 2024 ) .

03 . Kontrollstrukturen.

. if | if - else | if - elseif | if - elseif - else .


. Funktion einer Abfrage .
if ( logische Abfrage ) { Anweisung };
 

. Vergleichsoperatoren .
Operator Frage Beispiel
< Kleiner? $a < $b
> Größer? $a > $b
<= Kleiner oder gleich? $a <= $b
>= Größer oder gleich? $a >= $b
== Gleich? $a == $b
=== Gleich und vom selben Typ? $a === $b
! Nicht? !$a
!= Ungleich $a != $b
!== Ungleich oder nicht vom selben Typ $a !== $b
. Logische Operatoren .
&& A und B? $a < $b && $c == $d
|| A oder B? $a < $b || $c == $d
Geben TRUE ( 1 = Anweisung wird ausgeführt! ) zurück
oder FALSE ( 0 = Anweisung wird nicht ausgeführt! ).

. if-Abfragen im Überblick .
. if .


if ( logische Abfrage ) {
  Anweisung
};
 

. if - else .


if ( logische Abfrage ) {
  Anweisung
} else {
  Anweisung
};
 

. if - elseif .


if ( logische Abfrage ) {
  Anweisung
} elseif ( logische Abfrage ) {
  Anweisung
};
 

. if - elseif - else .


if ( logische Abfrage ) {
  Anweisung
} elseif ( logische Abfrage ) {
  Anweisung
} else {
  Anweisung
};
 

Die if-Abfrage ist die wichtigste Möglichkeit zur Steuerung des Programmflusses. Sie kann verschachtelt werden und ist mit anderen Kontrollstrukturen kombinierbar.

--

. while-Schleife .


while ( logische Abfrage ) { Anweisung };
 

. Beispiel für eine while-Schleife .


<?
echo ( "<p>Ausgabe aller Zahlen von 1 bis 1000" );
echo ( "<br>die ohne Rest durch 75 teilbar sind:<p>" );
echo ( "<center>" );

$n = 1;

while ( $n <= 1000 ) {
  if ( $n % 75 == 0 ) { echo ( "$n " ); $x++; };
  $n = $n +1;
};

echo ( " ( $x x )</center>" );
?>
 

Ergibt die Prüfung TRUE, wird die Anweisung ausgeführt, ergibt sie FALSE, wird der Code-Block übersprungen. - Möglich sind keine, eine oder mehrere Anweisungen.

Testen ( . Syntax Dateiname: name.php, - bspw. while.php ! . )

--

. for-Schleife .


for ( Zähler initialisieren; Zählerbedingung; Zähler modifizieren ) { Anweisung };
 

. Beispiel für eine for-Schleife .


<?
echo ( "Mit einer for-Schleife bis 31 zählen:<p>" );
echo ( "<center>" );

for ( $count = 1; $count <= 31; $count++ ) {
 echo ( "$count " );
};

echo ( "</center>" );
?>
 

Bei while- und for-Schleifen ist stets zu beachten, dass die angegebene Bedingung auch wirklich erfüllbar ist, - weil sonst eine ( gefährliche! ) Endlosschleife entsteht.

Testen ( . Syntax Dateiname: name.php, - bspw. for.php ! . )

--

. foreach .


 I: foreach ( array as $wert ) { Anweisung }; // Wert ausgeben.

II: foreach ( array as $key => $wert ) { Anweisung }; // Schlüssel + Wert ausgeben.
 

. Beispiel für foreach .


<?

$foo[Name] = "Buchmann"; $foo[Beruf] = "Tischler";
echo ( "Mit foreach alle Werte ausgeben:<p>" );

foreach ( $foo as $content ) {
 echo ( "$content <br>" );
};

echo ( "<p>Mit foreach alle Schlüssel + Werte ausgeben:<p>" );

foreach ( $foo as $key => $content ) {
 echo ( "$key: $content <br>" );
};

?>
 

Der Array-Zeiger wird nach jedem Schleifendurchlauf um eins erhöht, sodass nach jedem Durchlauf das nächste Element (Syntax I) ausgegeben wird bzw. der Schlüssel und das nächste Element (Syntax II).

Testen ( . Syntax Dateiname: name.php, - bspw. foreach.php ! . )

--

. switch .


switch ( var ) {
  case "möglicher Inhalt von var":
   Aktion
   break;
  default:
   Aktion
};
 

. Beispiel für switch .


<?
  echo ( date("H:i") . " Uhr ( " );

$foo = date("H");

switch ( $foo ) {
  case "08":
   $a = "1. Termin";
   break;
  case "13":
   $a = "2. Termin";
   break;
  case "14": case "15":
   $a = "3. Termin";
   break;
  case "18":
   $a = "4. Termin";
   break;
  case "19":
   $a = "5. Termin";
   break;
  default:
   $a = "kein Termin";
};

  echo ( " $a )" );
?>
 

switch ist eine Vereinfachung von if - elseif - else und macht den PHP-Code lesbarer. Erfolgt kein Treffer und fehlt die Angabe von default, - entfällt jegliche Aktion.

Testen ( . Syntax Dateiname: name.php, - bspw. switch.php ! . )

--

. break .


Die break-Anweisung ermöglicht, eine for- oder while-Schleife sowie eine switch-Anweisung zu verlassen. Dabei lässt sich durch Anhängen einer Ziffer (Argument) die exakte Zahl der abzubrechenden Sequenzen festlegen.
 

. Beispiel für break .


<?
  $i = 0;

while ( ++$i ) {
  echo ( "$i " );
 switch ( $i ) {
  case 10: {
   echo ( " | Ziffer 10 erreicht.<p>" );
   break 1;
  }
  case 20: {
   echo ( " | Ziffer 20 erreicht.<p>" );
   break 2;
  }
 }
}
?>
 

Jeder Durchlauf der Schleife erhöht $i um eins. In der switch-Anweisung wird bei jedem Durchlauf geprüft, - ob $i den Wert 10 (Case 10) oder 20 (Case 20) erreicht hat.

Testen ( . Syntax Dateiname: name.php, - bspw. break.php ! . )

--

. continue .


Die continue-Anweisung ähnelt nur scheinbar break, denn mit ihr wird nur der aktuelle Durchlauf der Schleife abgebrochen. Durch das Anhängen einer Ziffer (Argument) kann die Zahl der zu überspringenden Schleifendurchläufe bestimmt werden.

--

. exit .


Die exit-Anweisung beendet das Programm an der Stelle, an der sie eingefügt wurde. Danach wird die Übertragung an den Browser abgebrochen, - das schließt auch Befehle außerhalb des PHP-Skripts mit ein. - Bei der Verwendung ist also Vorsicht geboten!
 

--

. die .


Die die-Anweisung beendet - ebenso wie break - das Programm. Sie ermöglicht allerdings, - den Benutzer über das aufgetretene Problem zu informieren.
 

. Beispiel für die .


<?
  $foo = "file.txt" ;

  $open = @fopen ( $foo, "r+" )
  or die ( "Das Öffnen von $foo ist fehlgeschlagen." );
?>
 

fopen versucht $foo zu öffnen. Gibt es dabei ein Problem, wird das Skript abgebrochen und der Benutzer bekommt den Hinweis: - "Das Öffnen von $foo ist fehlgeschlagen."

Testen ( . Syntax Dateiname: name.php, - bspw. die.php ! . )


--
[ Home | Top ]
[ . Forward . ]
Der Inhalt dieser Seite wurde am 31.08.2024 um 13.34 Uhr aktualisiert.
Navigation Seminare Magic Software Projekte Publikationen Kontakt Home
 
   huecker dot com * Germany | Datenschutz
© 1999, 2024 Franz-Josef Hücker. All Rights Reserved.
Contact Print Page LinkedIn follow me on twitter RSS Feeds & Podcasts