aidan Tue Aug 3 03:07:13 2004 EDT
Modified files:
/phpdoc/en/reference/array/functions array-walk-recursive.xml
Log:
Half documented - I was unable to complete it because PHP segfaults when I use the
function!
Commiting so we don't double up on the work
http://cvs.php.net/diff.php/phpdoc/en/reference/array/functions/array-walk-recursive.xml?r1=1.1&r2=1.2&ty=u
Index: phpdoc/en/reference/array/functions/array-walk-recursive.xml
diff -u phpdoc/en/reference/array/functions/array-walk-recursive.xml:1.1
phpdoc/en/reference/array/functions/array-walk-recursive.xml:1.2
--- phpdoc/en/reference/array/functions/array-walk-recursive.xml:1.1 Mon May 17
11:35:22 2004
+++ phpdoc/en/reference/array/functions/array-walk-recursive.xml Tue Aug 3
03:07:13 2004
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
<refentry id="function.array-walk-recursive">
<refnamediv>
<refname>array_walk_recursive</refname>
@@ -15,9 +15,70 @@
<methodparam><type>string</type><parameter>funcname</parameter></methodparam>
<methodparam
choice="opt"><type>mixed</type><parameter>userdata</parameter></methodparam>
</methodsynopsis>
+ <simpara>
+ &return.success;
+ </simpara>
+ <simpara>
+ Applies the user-defined function <parameter>function</parameter> to each
+ element of the <parameter>array</parameter> array. This function will recur
+ into deeper arrays. Typically, <parameter>function</parameter> takes on two
+ parameters. The <parameter>array</parameter> parameter's value being the first,
and
+ the key/index second. If the optional <parameter>userdata</parameter>
+ parameter is supplied, it will be passed as the third parameter to
+ the callback <parameter>function</parameter>.
+ </simpara>
+ <note>
+ <para>
+ If <parameter>function</parameter> needs to be working with the
+ actual values of the array, specify the first parameter of
+ <parameter>function</parameter> as a
+ <link linkend="language.references">reference</link>. Then,
+ any changes made to those elements will be made in the
+ original array itself.
+ </para>
+ </note>
+ <para>
+ <example>
+ <title><function>array_walk_recursive</function> example</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+$sweet = array('a' => 'apple', 'b' => 'banana');
+$fruits = array('sweet' => $sweet, 'sour' => 'lemon');
- &warn.undocumented.func;
+function test_alter(&$item1, $key, $prefix)
+{
+ $item1 = "$prefix: $item1";
+}
+function test_print($item2, $key)
+{
+ echo "$key. $item2<br />\n";
+}
+
+echo "Before ...:\n";
+array_walk($fruits, 'test_print');
+
+array_walk($fruits, 'test_alter', 'fruit');
+echo "... and after:\n";
+
+array_walk($fruits, 'test_print');
+?>
+]]>
+ </programlisting>
+ <para>
+ The printout of the program above will be:
+ </para>
+ <screen role="php">
+<![CDATA[
+// No idea, because PHP segfaults!
+]]>
+ </screen>
+ </example>
+ </para>
+ <simpara>
+ See also <function>array_walk</function>
+ </simpara>
</refsect1>
</refentry>