aidan Tue Aug 3 04:52:13 2004 EDT
Modified files:
/phpdoc/en/reference/array/functions array-walk-recursive.xml
Log:
Added example and alterered spacing - it should be complete now, comments welcome!
http://cvs.php.net/diff.php/phpdoc/en/reference/array/functions/array-walk-recursive.xml?r1=1.2&r2=1.3&ty=u
Index: phpdoc/en/reference/array/functions/array-walk-recursive.xml
diff -u phpdoc/en/reference/array/functions/array-walk-recursive.xml:1.2
phpdoc/en/reference/array/functions/array-walk-recursive.xml:1.3
--- phpdoc/en/reference/array/functions/array-walk-recursive.xml:1.2 Tue Aug 3
03:07:13 2004
+++ phpdoc/en/reference/array/functions/array-walk-recursive.xml Tue Aug 3
04:52:13 2004
@@ -1,86 +1,81 @@
<?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.2 $ -->
- <refentry id="function.array-walk-recursive">
- <refnamediv>
- <refname>array_walk_recursive</refname>
- <refpurpose>
- Apply a user function recursively to every member of an array
- </refpurpose>
- </refnamediv>
- <refsect1>
- <title>Description</title>
- <methodsynopsis>
- <type>bool</type><methodname>array_walk_recursive</methodname>
- <methodparam><type>array</type><parameter>input</parameter></methodparam>
- <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">
+<!-- $Revision: 1.3 $ -->
+<refentry id="function.array-walk-recursive">
+ <refnamediv>
+ <refname>array_walk_recursive</refname>
+ <refpurpose>
+ Apply a user function recursively to every member of an array
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <methodsynopsis>
+ <type>bool</type><methodname>array_walk_recursive</methodname>
+ <methodparam><type>array</type><parameter>input</parameter></methodparam>
+ <methodparam><type>string</type><parameter>funcname</parameter></methodparam>
+ <methodparam
choice="opt"><type>mixed</type><parameter>userdata</parameter></methodparam>
+ </methodsynopsis>
+ <simpara>
+ Applies the user-defined function <parameter>funcname</parameter> to each
+ element of the <parameter>input</parameter> array. This function will recur
+ into deeper arrays. Typically, <parameter>funcname</parameter> takes on two
+ parameters. The <parameter>input</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>funcname</parameter>.
+ </simpara>
+ <simpara>
+ &return.success;
+ </simpara>
+ <note>
+ <para>
+ If <parameter>funcname</parameter> needs to be working with the
+ actual values of the array, specify the first parameter of
+ <parameter>funcname</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');
-function test_alter(&$item1, $key, $prefix)
+function test_print($item, $key)
{
- $item1 = "$prefix: $item1";
+ echo "$key holds $item\n";
}
-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');
+array_walk_recursive($fruits, 'test_print');
?>
]]>
- </programlisting>
- <para>
- The printout of the program above will be:
- </para>
- <screen role="php">
+ </programlisting>
+ <para>
+ The printout of the program above will be:
+ </para>
+ <screen role="php">
<![CDATA[
-// No idea, because PHP segfaults!
+a holds apple
+b holds banana
+sour holds lemon
]]>
- </screen>
- </example>
+ </screen>
+ <para>
+ You may notice that the key 'sweet' is never displayed. Any key that holds an
+ <type>array</type> will not be passed to the function.
</para>
- <simpara>
- See also <function>array_walk</function>
- </simpara>
- </refsect1>
- </refentry>
+ </example>
+ </para>
+ <simpara>
+ See also <function>array_walk</function>.
+ </simpara>
+ </refsect1>
+</refentry>
<!-- Keep this comment at the end of the file
Local variables:
@@ -101,4 +96,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
+-->
\ No newline at end of file