<?php// Mein erstes PHP-Scriptecho"Hallo Welt!";
print"<br>Willkommen bei PHP!";
// PHP-Tags?><!-- HTML kann nach PHP-Tags stehen -->
<h2>Das ist HTML</h2>
<?phpecho"<p>Zurück zu PHP</p>";
?>
Ausgabe im Browser: Hallo Welt! Willkommen bei PHP! Das ist HTML Zurück zu PHP
PHP-Code steht zwischen <?php und ?> Tags. echo und print geben Text aus.
Kommentare in PHP
<?php// Einzeiliger Kommentarecho"Hallo!";
# Alternative für einzeiligen Kommentarprint"Welt!";
/*
Mehrzeiliger Kommentar
für längere Erklärungen
*/echo"<br>PHP ist toll!";
?>
PHP unterstützt drei Arten von Kommentaren: //, # und /* */
2. Variablen und Datentypen
Variablen deklarieren
<?php// Variablen beginnen mit $$name="Anna"; // String$alter=20; // Integer$preis=19.99; // Float$istStudent=true; // Boolean$adresse=null; // NULL// Variablen ausgebenecho"Name: ".$name."<br>";
echo"Alter: $alter Jahre<br>"; // Variable in String// Typ einer Variable herausfindenechogettype($name) ."<br>"; // stringechogettype($alter) ."<br>"; // integer?>
Ausgabe: Name: Anna Alter: 20 Jahre string integer
PHP-Variablen beginnen mit $. Der Punkt (.) verknüpft Strings.
Variable Typen prüfen
<?php$zahl=42;
$text="Hallo";
$wahrheit=true;
// Typ-Prüfungenif (is_int($zahl)) {
echo"$zahl ist eine Ganzzahl<br>";
}
if (is_string($text)) {
echo"$text ist ein String<br>";
}
if (is_bool($wahrheit)) {
echo"Variable ist ein Boolean<br>";
}
// Variable-Info ausgebenecho"<pre>";
var_dump($zahl, $text, $wahrheit);
echo"</pre>";
?>
is_int(), is_string(), is_bool() prüfen Datentypen. var_dump() zeigt detaillierte Infos.
3. Ausgabe (Echo, Print & Printf)
Echo vs Print
<?php$name="Max";
$alter=19;
// Echo - schneller, kann mehrere Parameterecho"Hallo ", $name, "!<br>";
echo"Du bist $alter Jahre alt.<br>"; // Variable in String// Print - langsamer, nur ein Parameter, gibt 1 zurückprint"Willkommen $name!<br>";
// Echo ohne Klammern (empfohlen)echo"Das ist einfacher zu schreiben.<br>";
// Längere Texteecho"<h3>Über mich</h3>
<p>Ich bin $name und lerne PHP.</p>";
?>
Ausgabe: Hallo Max! Du bist 19 Jahre alt. Willkommen Max! Das ist einfacher zu schreiben. Über mich Ich bin Max und lerne PHP.
echo ist schneller und flexibler als print. Verwende normalerweise echo.
Printf für formatierte Ausgabe
<?php$name="Anna";
$punkte=87.5;
$rang=3;
// Printf mit Platzhalternprintf("Name: %s<br>", $name); // %s = Stringprintf("Punkte: %.1f<br>", $punkte); // %.1f = Float mit 1 Dezimalstelleprintf("Rang: %d<br>", $rang); // %d = Dezimalzahl// Alles in einer Zeileprintf("%s hat %.2f Punkte und ist auf Rang %d.<br>",
$name, $punkte, $rang);
// Zahlen formatieren$preis=1234.56;
printf("Preis: CHF %08.2f<br>", $preis); // 8 Stellen, 2 Dezimalen, mit Nullen?>
Ausgabe: Name: Anna Punkte: 87.5 Rang: 3 Anna hat 87.50 Punkte und ist auf Rang 3. Preis: CHF 01234.56
Assoziative Arrays verwenden Strings als Schlüssel. Ideal für strukturierte Daten.
7. Funktionen
Grundlegende Funktionen
<?php// Einfache Funktion ohne Parameterfunctionbegrüssung() {
echo"Herzlich willkommen!<br>";
}
// Funktion mit Parameternfunctionaddieren($a, $b) {
return$a+$b;
}
// Funktion mit Default-Parameternfunctionvorstellung($name, $alter=18, $stadt="Unbekannt") {
return"Ich bin $name, $alter Jahre alt und wohne in $stadt.";
}
// Funktionen aufrufenbegrüssung();
$summe=addieren(15, 27);
echo"15 + 27 = $summe<br>";
// Mit Default-Wertenechovorstellung("Anna") ."<br>";
echovorstellung("Max", 20, "Zürich") ."<br>";
// Funktion mit mehreren Rückgabewertenfunctionrechnen($x, $y) {
$summe=$x+$y;
$differenz=$x-$y;
$produkt=$x*$y;
return [$summe, $differenz, $produkt];
}
// Mehrere Rückgabewerte verwenden$ergebnisse=rechnen(8, 3);
echo"Summe: {$ergebnisse[0]}, Differenz: {$ergebnisse[1]}, Produkt: {$ergebnisse[2]}";
?>
Ausgabe: Herzlich willkommen! 15 + 27 = 42 Ich bin Anna, 18 Jahre alt und wohne in Unbekannt. Ich bin Max, 20 Jahre alt und wohne in Zürich. Summe: 11, Differenz: 5, Produkt: 24
Funktionen mit return geben Werte zurück. Default-Parameter haben Standardwerte.
include lädt Dateien. require bricht ab bei Fehler. *_once verhindert mehrfaches Laden.
Unterschiede:
• include: Warnung bei Fehler, Script läuft weiter
• require: Fataler Fehler bei Problemen, Script stoppt
• *_once: Lädt Datei nur einmal, auch bei mehreren Aufrufen
POST-Daten sind nicht in der URL sichtbar. Immer Eingaben validieren und htmlspecialchars() verwenden!
Sicherheitstipps:
• Alle Eingaben validieren und filtern
• htmlspecialchars() gegen XSS-Angriffe
• isset() und empty() für sichere Abfragen
• ?? (Null Coalescing) für Default-Werte