Start · Sprachen · PHP · Referenz · xmlrpc_get_type

xmlrpc_get_type

Funktion

Gibt den XML-RPC-Datentyp eines PHP-Wertes als String zurück.

seit PHP 4.1.0 Kategorie: xml

Signatur

xmlrpc_get_type(mixed $value): string

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

Typ
string
Beschreibung
Gibt den XML-RPC-Typ als String zurück, z. B. 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;
}
integer => XML-RPC-Typ: int double => XML-RPC-Typ: double boolean => XML-RPC-Typ: boolean string => XML-RPC-Typ: string array => XML-RPC-Typ: array array => XML-RPC-Typ: struct

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;
XML-RPC-Typ nach set_type: base64 XML-RPC-Typ des Datums: dateTime.iso8601

// 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.