Inhaltsverzeichnis

Allgemein

Grundgerüst

Ein PHP-Bereich befindet sich immer in folgendem Code:

<?php
        PHP-Code
?>

Alternativ funktioniert meist auch folgendes (sollte man aber nicht nutzen da es nicht überall funktioniert):

<?
    PHP-Code
?>

Der vorstehende Code kann dabei ein gesamtes Dokument umfassen (<?php steht am Beginn des Dokuments und ?> am Ende) oder nur irgendwo in einem html-Dokument (mit Endung .php) auftauchen.

Beispiel für mitten im HML-Code:

<html>
<head>
      <title> Bla </title>
</head>
<body>
      <h1>Ein PHP-Beispiel</h1>
      <?php
            echo "Dies ist das PHP-BEispiel";
      ?>
      <b>Hier ist das Beispiel zu Ende</b>
</body>
</html>

Variablen

Skalare


Syntax: $Variablenbezeichner=Wert;

Variablenbezeichner: Name der Variablen
Wert: Wert der der Variablen zugewiesen wird

Zugriff erfolgt ebenfalls per $Bezeichner.

Arrays

Zuweisung:
Syntax: $Bezeichner=array(Wert1,Wert2,Wert3);
Beispiel: $Namen=array(„Susi“,„Peter“,„Dieter“);

Bezeichner: Name des Array
Wertx: Werte die dem Array zugewiesen werden sollen


Zugriff:
Syntax: $Bezeichner[Index];
Beispiel: $a=Name[$index];

Hashmap/Assoziative Arrays

Defintion:
Syntax: $Bezeichner=array(Schlüssel1Wert1, Schlüssel2Wert2);
Beispiel: $Namen=array('Sorglos' ⇒ 'Susie', 'Mise' ⇒ 'Peter');

Multidimensionale Arrays/ Hashmaps


Deklaration und Definition

Syntax: Bezeichner= array Index1 ⇒ array(Wert1-1,Wert1-2), Index2 ⇒ array (Wert2-1,Wert2-2) oder
Bezeichner= array Index1 ⇒ array(Index1-1Wert1-1,Index1-2Wert1-2), Index2 ⇒ array (Index2-1Wert2-1,Index2-2Wert2-2)

Beispiel: $mymulti=array „Jane“ ⇒ array ('30.06.2011', 'Herlinger') oder
$multi=array „Test1“ ⇒ array ('Geburtsdatum' ⇒ '30.06.2011', 'Name' ⇒ 'Herlinger');



Zugriff/Wertzuweisung

Syntax: $Bezeichner[Index1][Index2]; bzw. $Bezeichner[Index1][Index2]=„Wert“;

Funktionen

Name Beschreibung
strlen()Ermittelt die Länge eines Strings

Syntax: strlen(String bzw. Variable)
strpos()Ermittelt die Position eines gesuchten Strings innerhalb eines anderen.

Gibt die numerische Position des Substrings zurück.

Achtung: Die Rückgabe kann den boolschen Typ false enthalten wenn der String nicht enthalten ist. Deswegen sollte vor dem weiterverarbeiten per Prüfung auf „=== false“ geprüft werden (=== prüft ob die Variable vom Typ Bool ist und danach ob der dort enthaltene Wert false ist)

Konstrukte

Kommentare

/*Kommentar */

if-else



Syntax:

if (Bedingung)
{
  Anweisung;
}
elseif (Bedingung)
{
   Anweisung;
}
else
{
   Anweisung;
}



switch



Syntax:

switch (//Variable//) 
{
      case //Auswahl1//: 
                       //Code1//;
                       break;
      case //Auswahl2//: 
                       //Code2//;
                       break;                  
     default:
                       //Code3//;
                       break;
}


while

Syntax:

while(Bedingung)
{
       Code;
}



Beispiel:

while($a < 6 )
{
     print $a;
     a++;
}

do-while


Syntax:

do
{
      Code;
}
while(Bedingung);



Syntax:

do
{
      print $a;
      a++;
}
while($a < 6);

for-Loop

Syntax:

for (Initialisierung;Bedingung;Inkrementation)
{
      Code;
}



Beispiel:

for (a=0;a<=5;a++)
{
     echo "a ist jetzt $a";
}


Das obige Beispiel führt die Schleife 6 mal aus und gibt hintereinander 0,1,2,3,4,5 aus.

foreach-Loop

Syntax:

foreach ($Array as $Wert)
{
      Code;
}


Beispiel:

$myhash=array ("Peter" => "Müller","Edith" => "Schröder");

foreach ($myhash as $value)
{
      echo "$value";
}

Funktionen

Syntax:

function Funktionsname (Parametervariable1, Parametervariable2)
{
     Code;
     return Rückgabewert;
}

Rückgabevariable=Funtionsname(Parameter1, Parameter2);


Beispiel:

$eins=5;
$zwei=3;

function addition ($zahleins,$zahlzwei)
{
      $result=$zahlein+$zahlzwei;
      return $result;
}

echo "Das Ergebnis von $eins + $zwei ist " . addition($eins,$zwei);

Operatoren

Name Beschreibung
String-VerknüpfungString1.String2
Decrement
++Increment
+=Zuweisung und Addition

Wert vor dem = wird mit dem Wert hinter = addiert und in der Variable vor = gespeichert.

a+=2 → a=a+2;
-=ZUweisung und Substraktion

Siehe +=
*=Zuweisung und Multiplikation

Siehe +=
/=Zuweisung und Division

Siehe +=
.=Zuweisung und Verkettung

String vor dem = und hinter dem = werden verkettet und der Variable vor = zugewiesen
==Vergleichsoperator
!=Ungleich
<>Ungleich
>Größer als
<Kleiner als
>=Größer als oder gleich
Kleiner als oder gleich
&&Und
|
Oder
!Not
Negiert den Ausdruck
===Prüfung ob der Typ der Variablen identisch ist und wenn ja, den entsprechenden Wert enthält.

Ist der Typ nicht identisch oder der Wert nicht gleich wird false zurückgegeben.


Troubleshooting

Problem Mögliche Lösungen
unexpected T_VARIABLE
  • Variable wird ausgelesen, aber vorher nicht gesetzt
  • Der PHP-Bereich wird durch <? php eingeleitet → muss <?php (ohne Leerzeichen) sein

Konfiguration

Die Php-ini kann zentral (in der /etc/php5/apache2/php.ini) konfiguriert werden.
In dieser Datei können für einzelne Verzeichnisse oder URLs Parameter definiert werden → in dem per [PATH=Verzeichnispfad] bzw. [HOST=Domainname] Untersektionen definiert werden (diese haben keinen Abschluss, sondern Enden wo eine neue Sektion beginnt oder die Datei zu Ende ist). Hinweis: Dies funktioniert derzeit nur mit CGI/FastCGI.
In Unterverzeichnissen kann eine .user.ini (Dateiname hängt vom Parameter user_ini.filename ab und auch ob diese Funktion nutzbar ist) die Parameter überschreiben.

Externe Informationen