array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'class.variant.php', 1 => 'variant', ), 'up' => array ( 0 => 'book.com.php', 1 => 'COM', ), 'prev' => array ( 0 => 'dotnet.construct.php', 1 => 'dotnet::__construct', ), 'next' => array ( 0 => 'variant.construct.php', 1 => 'variant::__construct', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/com/variant.xml', ), 'extra_header_links' => array ( 'rel' => 'alternate', 'href' => '/manual/en/feeds/class.variant.atom', 'type' => 'application/atom+xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
VARIANT — это эквивалент zval для COM; это структура, которая может содержать значения различных допустимых типов. Класс variant входит в модуль COM и позволяет больше контролировать значения, передаваемые от PHP к COM и обратно.
Пример #1 Пример использования variant
<?php
$v = new variant(42);
print "Тип — " . variant_get_type($v) . "<br/>";
print "Значение — " . $v . "<br/>";
?>
Замечание:
Когда возвращается значение или извлекается свойство, variant преобразовывается в значение PHP только если есть прямая связь между типами, что не приведёт к потере информации. Во всех остальных случаях результат вернётся в виде экземпляра класса variant. Вы можете принудительно указать PHP конвертировать значения в типы PHP используя оператор приведения типов или же преобразовывать их в строку, используя функцию print. Вы можете использовать множество функций класса для арифметических операций без приведения значений к типам PHP с риском потери информации.
Смотрите также variant_get_type().