-
Notifications
You must be signed in to change notification settings - Fork 164
Expand file tree
/
Copy pathfilter-var-array.xml
More file actions
202 lines (192 loc) · 6.09 KB
/
filter-var-array.xml
File metadata and controls
202 lines (192 loc) · 6.09 KB
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
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 627f933cfe6a033dccac32982cd68e7c1b86927f Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- CREDITS: DavidA -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.filter-var-array">
<refnamediv>
<refname>filter_var_array</refname>
<refpurpose>Récupère plusieurs variables et les filtre</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type><type>null</type></type><methodname>filter_var_array</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>array</type><type>int</type></type><parameter>options</parameter><initializer><constant>FILTER_DEFAULT</constant></initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>add_empty</parameter><initializer>&true;</initializer></methodparam>
</methodsynopsis>
<simpara>
Filtrer un &array; associatif de valeurs en utilisant un filtre de validation
<constant>FILTER_VALIDATE_<replaceable>*</replaceable></constant>,
un filtre de purification
<constant>FILTER_SANITIZE_<replaceable>*</replaceable></constant>,
ou un filtre personnalisé.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<simpara>
Un &array; associatif contenant les données à filtrer.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<simpara>
Soit un <type>array</type> associatif d'option,
soit un filtre à appliquer à chaque entrée,
qui peut être un filtre de validation en utilisant une des constantes
<constant>FILTER_VALIDATE_<replaceable>*</replaceable></constant>,
un filtre de purification en utilisant une des constantes
<constant>FILTER_SANITIZE_<replaceable>*</replaceable></constant>.
</simpara>
<simpara>
Le tableau d'options est un tableau associatif où les clés correspondent
à une clé dans les données <parameter>array</parameter> et la valeur
associée est soit le filtre à appliquer à cette entrée,
soit un tableau associatif qui décrit comment et quel filtre devrait
être appliqué à cette entrée.
</simpara>
<simpara>
Le tableau associatif qui décrit comment un filtre devrait être appliqué
doit contenir la clé <literal>'filter'</literal> dont sa valeur associée
est le filtre à appliquer, qui peut être une des constantes
<constant>FILTER_VALIDATE_<replaceable>*</replaceable></constant>,
<constant>FILTER_SANITIZE_<replaceable>*</replaceable></constant>,
<constant>FILTER_UNSAFE_RAW</constant>, ou
<constant>FILTER_CALLBACK</constant>.
Il peut contenir facultativement la clé <literal>'flags'</literal>
qui spécifie les drapeaux à appliquer au filtre,
et la clé <literal>'options'</literal> qui spécifie toute option
qui s'applique au filtre.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>add_empty</parameter></term>
<listitem>
<para>
Ajoute les clés manquantes en tant que &null; dans la valeur de retour.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un tableau contenant les valeurs des variables demandées en cas de succès, ou &false;
si une erreur survient. Un tableau de valeurs peut valoir &false; si le filtre échoue, ou &null;
si la variable n'est pas définie.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Exemple avec <function>filter_var_array</function></title>
<programlisting role="php">
<![CDATA[
<?php
$data = [
'product_id' => 'libgd<script>',
'component' => '10',
'versions' => '2.0.33',
'testscalar' => ['2', '23', '10', '12'],
'testarray' => '2',
];
$filters = [
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
'options' => [
'min_range' => 1,
'max_range' => 10,
],
],
'versions' => [
'filter' => FILTER_SANITIZE_ENCODED
],
'testscalar' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
],
'testarray' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
],
'doesnotexist' => FILTER_VALIDATE_INT,
];
var_dump(filter_var_array($data, $filters));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(6) {
["product_id"]=>
string(17) "libgd%3Cscript%3E"
["component"]=>
array(1) {
[0]=>
int(10)
}
["versions"]=>
string(6) "2.0.33"
["testscalar"]=>
bool(false)
["testarray"]=>
array(1) {
[0]=>
int(2)
}
["doesnotexist"]=>
NULL
}
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>filter_input_array</function></member>
<member><function>filter_var</function></member>
<member><function>filter_input</function></member>
<member>
Les filtres de validation
<constant>FILTER_VALIDATE_<replaceable>*</replaceable></constant>
</member>
<member>
Les filtres de purification
<constant>FILTER_SANITIZE_<replaceable>*</replaceable></constant>
</member>
</simplelist>
</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
-->