Signatur
Beschreibung
xmlrpc_get_type() ermittelt den XML-RPC-Typ, der einem gegebenen PHP-Wert entspricht. XML-RPC ist ein Remote-Procedure-Call-Protokoll, das XML zur Kodierung von Daten verwendet. Diese Funktion hilft dabei, zu verstehen, wie ein bestimmter PHP-Wert in XML-RPC repräsentiert wird.
Die möglichen Rückgabewerte entsprechen den XML-RPC-Datentypen: int, double, boolean, string, dateTime.iso8601, base64, array, struct und null. Wurde einem Wert zuvor mit xmlrpc_set_type() ein expliziter Typ zugewiesen, wird dieser zurückgegeben.
Die Funktion ist nützlich beim Debuggen von XML-RPC-Kommunikation oder wenn man sicherstellen möchte, dass Werte korrekt typisiert werden, bevor sie über XML-RPC übertragen werden. Besonders bei Zahlen und Datumswerten kann die automatische Typzuordnung überraschend sein.
Hinweis: Die xmlrpc-Erweiterung ist seit PHP 8.0 als veraltet (deprecated) markiert und wird möglicherweise in einer zukünftigen PHP-Version entfernt. Für neue Projekte sollten alternative Bibliotheken wie phpxmlrpc in Betracht gezogen werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $value Pflicht | mixed | Der PHP-Wert, dessen XML-RPC-Typ ermittelt werden soll. Kann ein beliebiger PHP-Wert sein: Integer, Float, Boolean, String, Array oder Objekt. |
Rückgabewert
int, double, boolean, string, dateTime.iso8601, base64, array oder struct.Beispiele
Grundlegende Typermittlung verschiedener PHP-Werte
<?php
// Verschiedene PHP-Werte und ihre XML-RPC-Typen
$werte = [
42,
3.14,
true,
'Hallo Welt',
[1, 2, 3],
['name' => 'Max', 'alter' => 30],
];
foreach ($werte as $wert) {
$typ = xmlrpc_get_type($wert);
echo gettype($wert) . ' => XML-RPC-Typ: ' . $typ . PHP_EOL;
}
Typ nach xmlrpc_set_type prüfen
<?php
// Einem String-Wert den XML-RPC-Typ base64 zuweisen
$daten = 'Binäre Daten hier';
xmlrpc_set_type($daten, 'base64');
$typ = xmlrpc_get_type($daten);
echo 'XML-RPC-Typ nach set_type: ' . $typ . PHP_EOL;
// Datum als ISO 8601 typisieren
$datum = '20240101T12:00:00';
xmlrpc_set_type($datum, 'datetime');
$typ = xmlrpc_get_type($datum);
echo 'XML-RPC-Typ des Datums: ' . $typ . PHP_EOL;
// Wichtig · Fallstricke
Deprecation-Hinweis: Die gesamte xmlrpc-Erweiterung ist seit PHP 8.0 als veraltet markiert. Es wird empfohlen, auf externe Bibliotheken wie phpxmlrpc umzusteigen, da die Erweiterung in zukünftigen PHP-Versionen entfernt werden könnte.
Bei assoziativen Arrays gibt die Funktion struct zurück, bei indizierten Arrays array. Bei gemischten Arrays (teils assoziativ, teils indiziert) kann das Ergebnis von der Implementierung abhängen.
Die Funktion gibt keinen Fehler zurück, wenn ein ungültiger Wert übergeben wird, sondern versucht stets, einen passenden XML-RPC-Typ zu ermitteln.