array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), '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' => 'ja', '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 は、PHP の zval と同等の COM の値です。構造体形式になっており、 異なる型の値を含めることが可能です。COM 拡張モジュールが提供する variant クラスによって、PHP と COM の間のデータの受け渡しを制御できるように なります。
例1 variant の例
<?php
$v = new variant(42);
print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>
注意:
値を返したり variant プロパティを取得したりする際に variant が PHP の値に変換されるのは、情報を失うことなく型変換ができる型が 存在する場合に限られます。それ以外の場合は、結果は variant クラスの インスタンスとして返されます。明示的にキャスト演算子を指定することで variant を PHP のネイティブ型として扱うことが可能です。また、 print を使用すると、暗黙のうちに値が文字列に 変換されます。variant に対する計算のためのさまざまな関数が用意されており、 型変換でデータを失うリスクを犯さなくてもそのままの形式で計算を 行うことが可能です。
variant_get_type() も参照ください。