-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathisset.xml
258 lines (235 loc) · 6.64 KB
/
isset.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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: eac82849b3c30b0779c0397391f5776bceb2da0a Maintainer: yago Status: ready -->
<refentry xml:id="function.isset" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>isset</refname>
<refpurpose>Determina si una variable está definida y no es &null;</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>isset</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
Determina si una variable está definida y no es &null;.
</para>
<para>
Si una variable ha sido removida con <function>unset</function>, esta ya no
estará definida. <function>isset</function> devolverá &false; si prueba una
variable que ha sido definida como &null;. También tenga en cuenta que un byte &null;
(<literal>"\0"</literal>) no es equivalente a la constante &null; de PHP.
</para>
<para>
Si son pasados varios parámetros, entonces <function>isset</function>
devolverá &true; únicamente si todos los parámetros están definidos. La
evaluación se realiza de izquierda a derecha y se detiene tan pronto como
se encuentre una variable no definida.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>var</parameter></term>
<listitem>
<para>
La variable a ser evaluada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>...</parameter></term>
<listitem>
<para>
Otra variable...
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve &true; si <parameter>var</parameter> existe y tiene un valor distinto
de &null;, &false; de lo contrario.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.4.0</entry>
<entry>
<para>
Comprobación de indices no numéricos de strings ahora retorna &false;.
</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplos <function>isset</function></title>
<programlisting role="php">
<![CDATA[
<?php
$var = '';
// Esto evaluará a TRUE así que el texto se imprimirá.
if (isset($var)) {
echo "Esta variable está definida, así que se imprimirá";
}
// En los siguientes ejemplo usaremos var_dump para imprimir
// el valor devuelto por isset().
$a = "prueba";
$b = "otraprueba";
var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
var_dump(isset($a, $b)); // FALSE
$foo = NULL;
var_dump(isset($foo)); // FALSE
?>
]]>
</programlisting>
</example>
</para>
<para>
También trabaja con elementos en matrices:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));
var_dump(isset($a['test'])); // TRUE
var_dump(isset($a['foo'])); // FALSE
var_dump(isset($a['hello'])); // FALSE
// La clave 'helo' es igual a NULL así que no se considera definida
// Si desea comprobar los valores NULL clave, intente:
var_dump(array_key_exists('hello', $a)); // TRUE
// Comprobando valores de arrays con más profunidad
var_dump(isset($a['pie']['a'])); // TRUE
var_dump(isset($a['pie']['b'])); // FALSE
var_dump(isset($a['cake']['a']['b'])); // FALSE
?>
]]>
</programlisting>
</informalexample>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<para>
<function>isset</function> sólo trabaja con variables, ya que pasar
cualquier otra cosa dará como resultado un error de intérprete. Para comprobar si
se han definido<link linkend="language.constants">constantes</link> use la función
<function>defined</function>.
</para>
</warning>
¬e.language-construct;
<note>
<para>
Cuando se utiliza <function>isset</function> sobre las propiedades de objetos inaccesibles,
el método sobrecargado <link linkend="object.isset">__isset()</link>
será llamado, si se declara.
</para>
</note>
<example>
<title><function>isset</function> en indices de String</title>
<para>
PHP 5.4 cambia ahora el comportamiendo de <function>isset</function>
cuando son pasados indices de string.
</para>
<programlisting role="php">
<![CDATA[
<?php
$expected_array_got_string = 'somestring';
var_dump(isset($expected_array_got_string['some_key']));
var_dump(isset($expected_array_got_string[0]));
var_dump(isset($expected_array_got_string['0']));
var_dump(isset($expected_array_got_string[0.5]));
var_dump(isset($expected_array_got_string['0.5']));
var_dump(isset($expected_array_got_string['0 Mostel']));
?>
]]>
</programlisting>
&example.outputs.53;
<screen>
<![CDATA[
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
]]>
</screen>
&example.outputs.54;
<screen>
<![CDATA[
bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>empty</function></member>
<member><link linkend="object.isset">__isset()</link></member>
<member><function>unset</function></member>
<member><function>defined</function></member>
<member><link linkend="types.comparisons">las tablas de comparación de tipos</link></member>
<member><function>array_key_exists</function></member>
<member><function>is_null</function></member>
<member>el operador <link linkend="language.operators.errorcontrol">@</link> de control de errores</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
-->