Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Einbindung in HTML  Kommentare  Variablen  Variablennamen  Variablentypen  Skalare  Zusammengesetzt  Sonstige  Vordefiniert: PHP  Vordefiniert: Enviroment  Variable Variablen  Konstanten  Operatoren  Funktionen  Kontrollstrukturen  Arrays  Objektorientierung  Fortgeschrittenes PHP  Templates  Cache-Technologien  OOH Forms  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
Zusammengesetzte Datentypen
Arrays (Hashes)
Arrays sind sehr flexibel:
- keine Dimensionierung notwendig
- dynamisches Wachstum
- beliebige Datentypen als Key und als Value,
aber ältere PHP 3 Versionen: keine Arrays von Objekten
- mehrdimensional
- Auto-Index Funktionalität
Weiter unten werden Arrays ausführlicher diskutiert.
| Beispiele für Arrays |
Top |
|
<?php
// Konstruktor für Aggregate
// Index beginnt automatisch bei 0
$demo_array = array ( 1 );
// assoziatives Array
$demo_array[0] = "eins";
$demo_array[1] = "zwei";
$demo_array["vier"] = "4";
print_r($demo_array);
print "\n\n";
// Array ohne Konstruktor anlegen
$weiteres_demo_array["PHP"] = "frißt alles!";
// Mehrdimensionalen Hash aufbauen
$demo_array = array (
0 => array (
"filename" => "test.PHP 3",
"author" => "Ulf Wendel",
"last_update" => "13.02.2001"
),
"achtung" => array ( "typwechsel" => "sind ueberall moeglich" )
);
var_dump($demo_array);
?>
|
|
Ausgabe
|
Top |
Array
(
[0] => eins
[1] => zwei
[vier] => 4
)
array(2) {
[0]=>
array(3) {
["filename"]=>
string(10) "test.PHP 3"
["author"]=>
string(10) "Ulf Wendel"
["last_update"]=>
string(10) "13.02.2001"
}
["achtung"]=>
array(1) {
["typwechsel"]=>
string(22) "sind ueberall moeglich"
}
}
|
|
|
Objekte
PHP unterstüzt eine einfache objektorientierte Programmierung.
Ein Objekt bündelt Funktionen (Methoden) und Daten (Eigenschaften).
- einfache Kapselung
- Konstruktoren, aber keine Dekonstruktoren
- einfache Vererbung, keine Mehrfachvererbung (auch keine Interfaces etc.)
| Klassen |
Top |
|
<?php
// Syntax: class classname [extends parentclass] { }
class math {
// Syntax: var $variable [ = expr ];
var $PI = 3.14159;
}
class math_improved {
var $PI = 0;
// Konstruktor trägt den Namen der Klasse
function math_improved( $PI ) {
$this->PI = $PI;
}
}
// Objekt erzeugen und Eigenschaften abrufen
$math = new math;
echo "PI: $math->PI\n";
// Benutzung des Konstruktors und Zugriff auf eine Methode
$math = new math_improved( 4 );
if (pi() != $math->PI)
echo "math::PI ist nicht sehr genau.\n";
?>
|
< ^ >
|