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>