-
Notifications
You must be signed in to change notification settings - Fork 50
/
func-get-args.xml
172 lines (159 loc) · 4.19 KB
/
func-get-args.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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 06779b06125d020da4a08ef09ed184a95a59e9ff Maintainer: lehmer Status: ready -->
<!-- Reviewed: no Maintainer: lehmer -->
<refentry xml:id="function.func-get-args" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>func_get_args</refname>
<refpurpose>Devuelve un array que se compone de una lista de argumentos de función</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>func_get_args</methodname>
<void/>
</methodsynopsis>
<para>
Obtiene un array de la lista de argumentos de una función.
</para>
<para>
Esta función se puede usar junto con
<function>func_get_arg</function> y <function>func_num_args</function> para permitir
a las funciones definidas por el usuario aceptar una lista de argumentos de longitud variable.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array en el que cada elemento es una copia del miembro
correspondiente de la lista de argumentos de la función definida por el usuario.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Genera una advertencia si se llama desde fuera de una función definida por el usuario.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>func_get_args</function></title>
<programlisting role="php">
<![CDATA[
<?php
function foo()
{
$númargs = func_num_args();
echo "Número de argumentos: $númargs \n";
if ($númargs >= 2) {
echo "El segundo argumento es: " . func_get_arg(1) . "\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $númargs; $i++) {
echo "El argumento $i es: " . $arg_list[$i] . "\n";
}
}
foo(1, 2, 3);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Número de argumentos: 3
El segundo argumento es: 2
El argumento 0 es: 1
El argumento 1 es: 2
El argumento 2 es: 3
]]>
</screen>
</example>
</para>
<para>
<example>
<title><function>func_get_args</function> ejemplo de argumentos byref (pasa un objeto como referencia) y byval (pasa un objeto como valor)</title>
<programlisting role="php">
<![CDATA[
<?php
function byVal($arg) {
echo 'Pasó como : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'Tras el cambio : ', var_export(func_get_args()), PHP_EOL;
}
function byRef(&$arg) {
echo 'Pasó como : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'Tras el cambio : ', var_export(func_get_args()), PHP_EOL;
}
$arg = 'bar';
byVal($arg);
byRef($arg);
?>
]]>
</programlisting>
&example.outputs;
<screen>
Pasó como : array (
0 => 'bar',
)
Tras el cambio : array (
0 => 'baz',
)
Pasó como : array (
0 => 'bar',
)
Tras el cambio : array (
0 => 'baz',
)
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
¬e.funcbyref;
<note>
<simpara>
Esta función solamente devuelve una copia de los argumentos pasados, y no
rinde cuentas de los argumentos predeterminados (no pasados).
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="functions.variable-arg-list">La sintaxis de <literal>...</literal></link></member>
<member><function>func_get_arg</function></member>
<member><function>func_num_args</function></member>
<member><methodname>ReflectionFunctionAbstract::getParameters</methodname></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
-->