-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy patharray-walk-recursive.xml
140 lines (135 loc) · 3.97 KB
/
array-walk-recursive.xml
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?xml version='1.0' encoding='utf-8'?>
<!-- $Revision$ -->
<!-- EN-Revision: 19af072c3eb88de9b99be2e982af8949f0b68a95 Maintainer: yago Status: ready -->
<refentry xml:id="function.array-walk-recursive" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_walk_recursive</refname>
<refpurpose>Aplicar una función de usuario recursivamente a cada miembro de un array</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>array_walk_recursive</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>userdata</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Aplica la función definida por el usuario <parameter>callback</parameter> a cada
elemento del <parameter>array</parameter>. Esta función opera de forma recursiva
sobre arrays con más niveles.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>callback</parameter></term>
<listitem>
<para>
Por lo general, <parameter>callback</parameter> recibe dos
parámetros. El valor del parámetro <parameter>array</parameter> es
el primero, y la clave/índice es el segundo.
</para>
<note>
<para>
Si <parameter>callback</parameter> necesita trabajar con los
valores reales del array, especifique el primer parámetro de
<parameter>callback</parameter> como una
<link linkend="language.references">referencia</link>. Entonces, cualquier
cambio realizado sobre esos elementos será efectuado sobre el array
original mismo.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>userdata</parameter></term>
<listitem>
<para>
Si se define el parámetro opcional <parameter>userdata</parameter>, éste será
pasado como el tercer parámetro al
<parameter>callback</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_walk_recursive</function></title>
<programlisting role="php">
<![CDATA[
<?php
$dulce = array('a' => 'manzana', 'b' => 'banano');
$frutas = array('dulce' => $dulce, 'acido' => 'limón');
function prueba_imprimir($item, $clave)
{
echo "$clave contiene $item\n";
}
array_walk_recursive($frutas, 'prueba_imprimir');
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
a contiene manzana
b contiene banano
acido contiene limón
]]>
</screen>
<para>
Notará que la clave '<literal>dulce</literal>' nunca es mostrada. Cualquier clave que
contenga un valor <type>array</type> no será pasada a la función.
</para>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_walk</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->