Start · Sprachen · PHP · Referenz · variant_int

variant_int

Funktion

Liefert den ganzzahligen Anteil eines <code>VARIANT</code>-Wertes (COM/Windows-Datentyp) als neues <code>VARIANT</code>-Objekt.

seit PHP 5.0.0 Kategorie: misc

Signatur

variant_int(mixed $variant): mixed

Beschreibung

variant_int extrahiert den ganzzahligen Anteil eines VARIANT-Wertes. Dies entspricht der Abschneideoperation (Truncation) in Richtung null – ähnlich wie intval() oder das Casting auf int in PHP, jedoch auf Windows-COM-VARIANT-Objekten.

Die Funktion ist Teil der COM/VARIANT-Erweiterung von PHP unter Windows und wird typischerweise beim Umgang mit COM-Automatisierungsobjekten (z. B. Excel, Word, ActiveX) verwendet, bei denen Daten als VARIANT ausgetauscht werden und eine Ganzzahloperation benötigt wird, ohne den COM-Kontext zu verlassen.

Im Gegensatz zu einem einfachen PHP-Cast gibt variant_int ein neues VARIANT-Objekt zurück, das weiterhin im COM-Umfeld verwendet werden kann. Bei negativen Werten wird in Richtung null abgeschnitten (z. B. -3.7 ergibt -3).

Die Funktion steht ausschließlich unter Windows zur Verfügung, da die COM-Erweiterung betriebssystemspezifisch ist.

Parameter

Name Typ Default Beschreibung
$variant Pflicht mixed Ein VARIANT-Objekt oder ein kompatibler skalarer Wert, dessen ganzzahliger Anteil ermittelt werden soll.

Rückgabewert

Typ
mixed
Beschreibung
Gibt ein neues VARIANT-Objekt zurück, das den ganzzahligen Anteil (Truncation in Richtung null) des Eingabewerts enthält.

Beispiele

Ganzzahligen Anteil eines positiven VARIANT-Wertes ermitteln

<?php
// Setzt eine funktionierende Windows-COM-Erweiterung voraus
$v = new VARIANT(4.7, VT_R8);
$result = variant_int($v);
echo variant_get_type($result) . ': ' . $result; // VARIANT mit Wert 4
4

Ganzzahligen Anteil eines negativen VARIANT-Wertes ermitteln

<?php
// Negative Werte werden in Richtung null abgeschnitten
$v = new VARIANT(-3.9, VT_R8);
$result = variant_int($v);
echo $result; // Ergibt -3, nicht -4
-3

// Wichtig · Fallstricke

Nur unter Windows verfügbar: Die variant_int-Funktion ist Teil der COM-Erweiterung (ext/com_dotnet) und steht ausschließlich auf Windows-Systemen zur Verfügung. Auf Linux/macOS führt ein Aufruf zu einem fatalen Fehler.

Truncation vs. Rounding: Die Funktion schneidet den Nachkommaanteil ab (Truncation), rundet nicht. Für kaufmännisches Runden gibt es variant_round. Für das Abrunden in Richtung negativer Unendlichkeit (Floor) steht variant_fix zur Verfügung.