2007-12-13 17:47:35 +00:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2009-07-11 06:41:36 +00:00
|
|
|
<!-- $Revision$ -->
|
2007-12-13 17:47:35 +00:00
|
|
|
|
|
|
|
<chapter xml:id="com.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
|
|
&reftitle.examples;
|
|
|
|
|
|
|
|
<section xml:id="com.examples.foreach">
|
|
|
|
<title>For Each</title>
|
|
|
|
<para>
|
2019-06-30 10:52:28 +00:00
|
|
|
You may use PHP's own
|
2009-02-16 15:30:18 +00:00
|
|
|
&foreach; statement to iterate
|
2009-04-01 07:39:55 +00:00
|
|
|
over the contents of a standard COM/OLE IEnumVariant. In layman's terms,
|
2007-12-13 17:47:35 +00:00
|
|
|
this means that you can use foreach in places where you would have used
|
|
|
|
<literal>For Each</literal> in VB/ASP code.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<example>
|
|
|
|
<title>For Each in ASP</title>
|
|
|
|
<programlisting role="asp">
|
|
|
|
<![CDATA[
|
|
|
|
<%
|
|
|
|
Set domainObject = GetObject("WinNT://Domain")
|
|
|
|
For Each obj in domainObject
|
|
|
|
Response.Write obj.Name & "<br />"
|
|
|
|
Next
|
|
|
|
%>
|
|
|
|
]]>
|
|
|
|
</programlisting>
|
|
|
|
</example>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<example>
|
2016-12-05 10:17:07 +00:00
|
|
|
<title>foreach in PHP</title>
|
2007-12-13 17:47:35 +00:00
|
|
|
<programlisting role="php">
|
|
|
|
<![CDATA[
|
|
|
|
<?php
|
|
|
|
$domainObject = new COM("WinNT://Domain");
|
|
|
|
foreach ($domainObject as $obj) {
|
|
|
|
echo $obj->Name . "<br />";
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
]]>
|
|
|
|
</programlisting>
|
|
|
|
</example>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section xml:id="com.examples.arrays">
|
|
|
|
<title>Arrays and Array-style COM properties</title>
|
|
|
|
<para>
|
|
|
|
Many COM objects expose their properties as arrays, or using array-style
|
2019-06-30 10:52:28 +00:00
|
|
|
access.
|
2007-12-13 17:47:35 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2019-06-30 10:52:28 +00:00
|
|
|
You can:
|
2007-12-13 17:47:35 +00:00
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Access multi-dimensional arrays, or COM properties that require
|
|
|
|
multiple parameters using PHP array syntax. You can also write or set
|
|
|
|
properties using this technique.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2009-02-16 15:30:18 +00:00
|
|
|
Iterate SafeArrays ("true" arrays) using the &foreach; control structure.
|
|
|
|
This works because SafeArrays include information about their size. If an
|
2007-12-13 17:47:35 +00:00
|
|
|
array-style property implements IEnumVariant then you can also use
|
|
|
|
foreach for that property too; take a look at <xref
|
|
|
|
linkend="com.examples.foreach"/> for more information on this topic.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2019-06-30 10:52:28 +00:00
|
|
|
</chapter>
|
|
|
|
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
|
|
Local variables:
|
|
|
|
mode: sgml
|
|
|
|
sgml-omittag:t
|
|
|
|
sgml-shorttag:t
|
|
|
|
sgml-minimize-attributes:nil
|
|
|
|
sgml-always-quote-attributes:t
|
|
|
|
sgml-indent-step:1
|
|
|
|
sgml-indent-data:t
|
|
|
|
indent-tabs-mode:nil
|
|
|
|
sgml-parent-document:nil
|
|
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
|
|
sgml-exposed-tags:nil
|
|
|
|
sgml-local-catalogs:nil
|
|
|
|
sgml-local-ecat-files:nil
|
|
|
|
End:
|
|
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
|
|
vim: et tw=78 syn=sgml
|
|
|
|
vi: ts=1 sw=1
|
|
|
|
-->
|