Datentyp struct in PHP!?

shutdown

Erfahrenes Mitglied
Hi!

Ich hätte mal die Frage, ob man in PHP genauso wie in C eigene Datenstrukturen anlegen kann.

Folgendes ist in C möglich:

struct datenbank
{
int uid;
char vorname[];
char nachname[];
int strasse[];
};

Gibt es das auch in PHP?
(Bin weder hier im Forum noch auf php.net fündig geworden)

Vielen Dank!

cu shutdown
 
Nö.

Aus dem ganz einfachen Grund, dass PHP typenschwach ist. Weshalb du auch keine Funktionen überladen kannst oder sonstiges.
 
Wie würde denn dann eine Strukturvariable angesprochen werden, wenn ich das ganze über ein Array realisiere?

Die erste Initialsierung (wenn die Anzahl der Einträge variabel bleiben soll, würde ja ungefähr so ausehen):

datenbank1[][uid] = 1;
datenbank1[][vorname] = "Vorname"
datenbank1[][nachname] = "Nachname"
datenbank1[][strasse] = "Strasse";

Wie würde ich denn da dann einen neuen Eintrag einfach anhängen, wenn ich vorher nicht weiß, wieviele eigentlich schon drin sind?

cu shutdown
 
wie wärs mit zählen der Elemente? Ja rat mal count() ;-) oderso:
$datenbank1[] = array(1, 'vorname', 'nachname', 'straße');
 
Aus dem
datenbank1[][uid] = 1;
datenbank1[][vorname] = "Vorname"
datenbank1[][nachname] = "Nachname"
datenbank1[][strasse] = "Strasse";
mach mal besser das:
Code:
$datenbank=array();

//$temp wird als Array initialisiert
$temp=array();
$temp['uid'] = 1;
$temp['vorname'] = "Vorname"
$temp['nachname'] = "Nachname"
$temp['strasse'] = "Strasse";

//Das array $temp wird an das Ende von $datenbank angehängt:
$datenbank[]=$temp; 

$temp=array();
$temp['uid'] = 2;
$temp['vorname'] = "Vorname2"
$temp['nachname'] = "Nachname2"
$temp['strasse'] = "Strasse2";
$datenbank[]=$temp;

//usw.

//Daten aus dem Array rausholen und den ehem. Inhalt von $temp bekommen:
$eintrag1InDatenbank = $datenbank[0];

//Alle $temp's nacheinander auslesen:
foreach ($datenbank as $item) {
  //mach was mit $item
}

Ansonsten: Arrayfunktionen auf http://www.php.net. Da gibts noch viel mehr, was Du mit Arrays machen kannst.

Und merke:
In PHP ist eine Variable eine Variable, ist eine Variable ist ... und nicht eine Variable eines bestimmten Typs.
$temp kann also durch einfaches zuweisen eines Strings wieder von einem Array zu einem String werden.
 
Zurück