Desde PHP 5 se puede usar la sentencia foreach propia de PHP para iterar sobre el contenido de un COM/OLE IEnumVariant estándar. En términos entendibles, esto significa que se puede usar foreach en lugares donde se podría usar For Each en código VB/ASP.
Ejemplo #1 For Each en ASP
<%
Set domainObject = GetObject("WinNT://Domain")
For Each obj in domainObject
  Response.Write obj.Name & "<br />"
Next
%>
Ejemplo #2 while() ... Next() en PHP 4
<?php 
$domainObject = new COM("WinNT://Domain"); 
while ($obj = $domainObject->Next()) { 
   echo $obj->Name . "<br />"; 
} 
?>
Ejemplo #3 foreach en PHP 5
<?php 
$domainObject = new COM("WinNT://Domain"); 
foreach ($domainObject as $obj) { 
   echo $obj->Name . "<br />"; 
} 
?>