Hello,
ich baue gerade ein alte CGI (in c) auf php um. Das CGI hat ein UDP Paket zu einem Server geschickt. Dieses soll jetzt direkt aus dem PHP passieren.
Problem ist ein c-string "char buffer[size];" wo mit hilfe eines Pointers daten geschrieben wurden. Geht soetwas auch mit php? Habe halt unterschiedliche typen. zb: shorts. Habe diese direkt geschrieben und den Pointer um size(short) verschoben.
PHP kennt keine solchen generischen Datentypen. Es lässt auch den Zugriff auf den Speicher nicht dirket zu.
Die Typen, die man mit settype() festlegen kann, werden dann von PHP intern verwaltet und bei Bedarf auch automatisch ineinander umgewandelt, sofern das möglich ist.
http://de.php.net/manual/en/function.gettype.php
http://de.php.net/manual/en/function.settype.php
Typgerechte Daten direkt erzeugen zum Wegschreiben kannst Du mit der Funktion pack()
http://de.php.net/manual/en/function.pack.php
Sowohl in einem String als auch in einem (indizierten) Array kannst Du mittels des Index-Operators [] wandern.
Der "String" versteht sich dabei als Byte-Anreihung.
In einem Array kannst Du auch andere unterbringen
Mit array_fill() kannst Du solch ein Array "initialisieren".
http://de.php.net/manual/en/function.array-fill.php
Vielleicht helfen dir diese Betrachtungen etwas weiter.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg