PHP Datentypen

0 | 6 Kommentare | 3086 Aufrufe
Sie können diese Wikiseite nach der Anmeldung auf Webmasterpro bearbeiten. Helfen Sie mit und verbessern Sie "PHP Datentypen" mit Ihrem Wissen!

Anzeige Hier werben

In PHP gibt es eine Reihe von Datentypen, die genutzt werden können. All diese Typen haben verschiedene Eigenschaften und ihre Eigenheiten. Manche können in andere überführt werden, manche nicht. Jedoch ist PHP in der Typunterscheidung nicht besonders streng (Beispiel siehe unten), was sich gerade bei nummerischen Werten bemerkbar macht. Nun aber zunächst zu den Typen.

Boolean

Boolean (kurz bool) kann Informationen über die Wahrheit tragen. Es gibt die Werte true und false. Dies entspricht, in der Informatik üblichen binären Denkweise, der 1 und der 0. Dieser Typ kann für einfache "Ja oder nein"-Abfragen genutzt werden, if-Konstrukte reagieren auf true und false.

Strings (Zeichenketten)

Der String ist eine beliebige Zeichenkette, die in PHP definiert werden kann, und kann alle möglichen Zeichen, beispielsweise auch kyrillische oder japanische, enthalten. Begonnen und abgeschlossen wird diese durch ein einfaches oder ein doppeltes Anführungszeichen. Diese unterscheiden sich dadurch, dass beim doppelten Anführungszeichen " Variablen durch ihre Werte ersetzt werden, beim einzelnen ' jedoch nicht.

Unterschied doppelte und einfache Anführungszeichen  
PHP
1
2
3
4
5
6
7
<?php
$stadt = "Berlin";
echo("Nächstes Jahr fahre ich nach $stadt und schaue mir dort die Sehenswürdigkeiten an.");
// Ausgabe: Nächstes Jahr fahre ich nach Berlin und schaue mir dort die Sehenswürdigkeiten an.
echo('Nächstes Jahr fahre ich nach $stadt und schaue mir dort die Sehenswürdigkeiten an.');
// Ausgabe: Nächstes Jahr fahre ich nach $stadt und schaue mir dort die Sehenswürdigkeiten an.
?>

Sollen in Strings die Trennzeichen, also " oder ', oder Dollarzeichen vorkommen, müssen diese "escapet" werden. Dies geschieht durch einen vorangestellten Backslash.

Wichtig: Es müssen nur die als Trennzeichen verwendeten Anführungszeichen escapet werden, diejenigen, die nicht verwendet werden, können frei benutzt werden, siehe Beispiel:

Escapen  
PHP
1
2
3
4
5
6
7
8
<?php
// Falsch (führt zu einem Parse Error):
$str = "Morgen schaue ich mir die "Zauberflöte" von Mozart an.";
// Richtig
$str = "Morgen schaue ich mir die \"Zauberflöte\" von Mozart an.";
// oder
$str = 'Morgen schaue ich mit die "Zauberflöte" von Mozart an.';
?>

Diese Zeichen werden nur zur Definition benötigt, bei einer Ausgabe werden die Escapezeichen selbsttätig entfernt. Die Verknüpfung von Strings wird im Artikel über Operatoren beleuchtet.

Nummerische Datentypen

Integer

Der einfachste der nummerischen Datentypen ist der Integer, kurz Int. Dieser kann die ganze Zahlen (..., -1, 0, 1, ...) enthalten und ist nach oben und unten durch 2.147.483.647 (231) beschränkt. Integer können neben der normalen Zahlenschreibweise auch als hexadezimale oder octale Werte definiert werden und werden dann intern in die dezimalen Äquivalente umgerechnet.

Float

Float beinhaltet alle Fließkommazahlen (Brüche) und Zahlen die größer/kleiner als ± 231. Bei Fließkommazahlen ist darauf zu achten, dass das Trennzeichen zu den Nachkommastellen nicht wie im deutschen üblich das , sondern wie im Englischsprachigen üblich der . ist. Eine Näherung für π wäre also dementsprechend in PHP formuliert 3.1415.

Alle nummerischen Datentypen können mit den Rechenoperatoren miteinander verrechnet werden. Hier zeigt sich jedoch die Typungenauigkeit von PHP:

 
PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
$a = 5;
$b = 10;
var_dump($a * $b);
// Ausgabe: int(50)
// Allerdings können auch Strings miteinander verrechnet werden
$a = 5;
$b = "10";
var_dump($a * $b);
// Ausgabe: int(50)
?>

Arrays

Arrays können als mehrdimensionale Variablen angesehen werden. Ein Array als ganzes besitzt jedoch keinen expliziten Wert, jedoch eine definierte Anzahl Schlüssel, die dieselbe Anzahl an Werten enthalten. Die Schlüssel können String oder Integer Werte sein, die Werte sind beliebig.

Definition von Arrays

Methode über die Funktion array();

Die Wertepaare werden dabei wie folgt definiert: Schlüssel => Wert. Einzelne Wertepaare werden durch ein Komma getrennt.

 
PHP
1
2
3
<?php
$array = array(1 => "foobar", "foo" => 2.5);
?>
Definition über die Klammer-Syntax

Alternativ kann die Klammer-Syntax benutzt werden, die der Variablendefinition ähnelt.

 
PHP
1
2
3
4
5
<?php
$array = array(); // Initialisierung des Arrays
$array[1] = "foobar";
$array['foo'] = 2.5;
?>

Zugriff auf Arraydaten

Der Zugriff auf Arrayelemente funktioniert über die Klammer-Syntax ähnlich wie bei der Definition.

Objekte

Objekte sind mit Klasseninstanzen verbunden. Diese werden in einem eigenständigen Artikel beleuchtet.


Wikiseite bearbeiten

Diese Seite kann von jedem registrierten Benutzer bearbeitet werden. Bisher haben 3 Personen an der Seite "PHP Datentypen" mitgewirkt.

Sie haben einen Fehler entdeckt oder möchten etwas ergänzen? Dann können Sie nach der Anmeldung "PHP Datentypen" hier bearbeiten.

Mitarbeiter
  • Student der Biochemie und seit einigen Jahren im Hobby-Entwicklerbereich tätig. Stärken in XHTML/CSS und PHP, alles was mit Grafik zu tun hat, gehört nicht dazu.
  • graphic, motion & web design - kernreaktor - kinderturnen
  • arbeitet seit längerem als Webdesigner und vor allem -entwickler. Er ist Webmaster von Webmasterpro.de und leitet den Flashcounter-Service.

Kommentare: PHP Datentypen

Neuen Kommentar schreiben
Dieses Feld ist zwingend erforderlich.
Beantworten

Bei den Strings fehlt die möglichkeit mit "abc 'def' ghi" oder 'abc "def" ghi' zu arbeiten. Und die sauberere Konkatinatorvariente "abc".$var."ghi"

Simon Bethke am 06.07.2008 um 14:50
Re: Dieses Feld ist zwingend erforderlich.
Beantworten

Der Punkt gehört eher in den Artikel Operatoren, würde ich sagen, als Verkettungsoperator

Holger V am 06.07.2008 um 16:01
Re: Dieses Feld ist zwingend erforderlich.
Beantworten

Ok, daran hatt ich nicht gedacht...

Was ist aber zumindest mit "<a href='http://www.google.de'>link</a>" ?
das ist doch wichtig zu wissen... sonst schreiben die leute immer "<a href=\"http://www.google.de\">link</a>"

Simon Bethke am 06.07.2008 um 16:46
Re: Dieses Feld ist zwingend erforderlich.
Beantworten

völliges zustimm^^

JimBamir am 06.07.2008 um 17:08
Re: Dieses Feld ist zwingend erforderlich.
Beantworten

würd ich auch sagen...

christian am 06.07.2008 um 16:30
Re: Dieses Feld ist zwingend erforderlich.
Beantworten

ist nen wiki-Artikel, tut euch keinen Zwang an ...

Holger V am 06.07.2008 um 17:39