Start · Sprachen · PHP · Referenz · variant_abs

variant_abs

Funktion

Gibt den absoluten Wert eines <code>VARIANT</code>-Wertes zurück (Windows COM-Erweiterung).

seit PHP 5.0.0 Kategorie: misc

Signatur

variant_abs(mixed $value): mixed

Beschreibung

variant_abs() berechnet den absoluten Betrag eines VARIANT-Wertes und ist Teil der Windows-COM-Erweiterung von PHP. Die Funktion verhält sich analog zu abs(), arbeitet jedoch speziell mit COM-VARIANT-Objekten zusammen, wie sie beim Zugriff auf COM-Schnittstellen (z. B. Microsoft Office-Anwendungen) auftreten können.

Ein VARIANT ist ein COM-spezifischer Datentyp, der verschiedene Werte unterschiedlicher Typen kapseln kann (Integer, Float, String, Boolean usw.). variant_abs() nimmt diesen Wert, ermittelt den absoluten Betrag und gibt das Ergebnis als neues VARIANT-Objekt zurück.

Die Funktion ist ausschließlich unter Windows verfügbar und setzt die PHP-COM-Erweiterung (ext/com_dotnet) voraus. Sie ist nützlich, wenn Berechnungen direkt auf VARIANT-Objekten durchgeführt werden müssen, ohne diese vorher in native PHP-Typen konvertieren zu wollen.

Wird ein gewöhnlicher PHP-Skalar (z. B. ein Integer oder Float) übergeben, wird dieser intern in ein VARIANT-Objekt umgewandelt, bevor der absolute Wert berechnet wird.

Parameter

Name Typ Default Beschreibung
$value Pflicht mixed Ein VARIANT-Objekt oder ein skalarer PHP-Wert (Integer, Float usw.), dessen absoluter Betrag berechnet werden soll.

Rückgabewert

Typ
mixed
Beschreibung
Gibt ein VARIANT-Objekt zurück, das den absoluten Betrag des übergebenen Wertes enthält. Bei einem negativen Eingabewert wird der entsprechende positive Wert zurückgegeben.

Beispiele

Absoluten Wert eines negativen VARIANT berechnen

<?php
// Setzt Windows und die COM-Erweiterung voraus
$variant = new VARIANT(-42, VT_I4);
$result = variant_abs($variant);
echo (int) $result; // Ausgabe: 42
?>
42

Absoluten Wert eines negativen Floats per VARIANT berechnen

<?php
// Setzt Windows und die COM-Erweiterung voraus
$variant = new VARIANT(-3.14, VT_R8);
$result = variant_abs($variant);
echo (float) $result; // Ausgabe: 3.14
?>
3.14

// Wichtig · Fallstricke

Plattformabhängigkeit: variant_abs() ist ausschließlich unter Windows verfügbar und erfordert die aktivierte COM-Erweiterung (extension=php_com_dotnet.dll in der php.ini). Auf Linux/macOS-Systemen existiert diese Funktion nicht und führt zu einem fatalen Fehler.

Für reine PHP-Berechnungen ohne COM-Kontext sollte stattdessen die native Funktion abs() verwendet werden, da diese plattformunabhängig und performanter ist.