File: examples.xml

package info (click to toggle)
php-doc 20081024-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 57,752 kB
  • ctags: 3,858
  • sloc: xml: 686,554; php: 19,446; perl: 610; cpp: 500; makefile: 336; sh: 114; awk: 28
file content (97 lines) | stat: -rw-r--r-- 2,881 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.2 $ -->

<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>
   Starting with PHP 5, you may use PHP's own <link
   linkend="control-structures.foreach">foreach</link> statement to iterate
   over the contents of a standard COM/OLE IEnumVariant.  In laymans terms,
   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>
    <title>while() ... Next() in PHP 4</title>
    <programlisting role="php">
<![CDATA[
<?php 
$domainObject = new COM("WinNT://Domain"); 
while ($obj = $domainObject->Next()) { 
   echo $obj->Name . "<br />"; 
} 
?>
]]>
    </programlisting>
   </example>
  </para>
  <para>
   <example>
    <title>foreach in PHP 5</title>
    <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
   access.  In PHP 4, you may use PHP array syntax to read/write such a
   property, but only a single dimension is allowed.  If  you want to read a
   multi-dimensional property, you could instead make the property access
   into a function call, with each parameter representing each dimension of
   the array access, but there is no way to write to such a property.
  </para>
  <para>
   PHP 5 introduces the following new features to make your life easier:
   <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>
      Iterate SafeArrays ("true" arrays) using the <xref
      linkend="control-structures.foreach"/> control structure.  This works
      because SafeArrays include information about their size.  If an
      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>

</chapter>