-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathparse-str.xml
195 lines (182 loc) · 5.14 KB
/
parse-str.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
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e35fbbaa52702ebf45c5e7284351e136ed67f3bb Maintainer: pastore Status: ready -->
<!-- CREDITS: darvina -->
<refentry xml:id="function.parse-str" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>parse_str</refname>
<refpurpose>Effettua il parsing della stringa in variabili</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>parse_str</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam><type>array</type><parameter role="reference">result</parameter></methodparam>
</methodsynopsis>
<para>
Suddivide la stringa <parameter>string</parameter> come se fosse una query string
passata via URL ed imposta le variabili nell'ambito corrente (o nell'array
se è fornito il parametro <parameter>result</parameter>).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
La stringa di input.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>result</parameter></term>
<listitem>
<para>
Se è presente il secondo parametro <parameter>result</parameter>,
le variabili vengono invece memorizzate in questa variabile come elementi dell'array.
</para>
<warning>
<para>
L'uso di questa funzione senza il parametro <parameter>result</parameter> è fortemente
<emphasis>NON CONSIGLIATO</emphasis> e <emphasis>DEPRECATO</emphasis> a partire da PHP 7.2.
A partire da PHP 8.0.0, il parametro <parameter>result</parameter> è <emphasis>OBBLIGATORIO</emphasis>.
</para>
</warning>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</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>8.0.0</entry>
<entry>
<parameter>result</parameter> non è più opzionale.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
L'uso di <function>parse_str</function> senza un secondo parametro
ora genera un avviso <constant>E_DEPRECATED</constant>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Utilizzo di <function>parse_str</function></title>
<programlisting role="php">
<![CDATA[
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
// Consigliato
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
// NON CONSIGLIATO
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
]]>
</programlisting>
</example>
</para>
<para>
Poiché le variabili in PHP non possono contenere punti e spazi nei loro nomi,
questi vengono convertiti in underscore. Lo stesso vale per la denominazione delle
rispettive chiavi nell'array quando si usa questa funzione con il
parametro <parameter>result</parameter>.
<example>
<title><function>parse_str</function> name mangling</title>
<programlisting role="php">
<![CDATA[
<?php
parse_str("My Value=Something");
echo $My_Value; // Something
parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Su tutte le variabili create (o i valori restituiti nell'array se è impostato il secondo parametro)
sarà già eseguita la funzione <function>urldecode</function>.
</para>
</note>
<note>
<para>
Per ottenere la <literal>QUERY_STRING</literal> corrente, puoi usare la variabile
<varname>$_SERVER['QUERY_STRING']</varname>.
Inoltre, potrebbe essere utile leggere la sezione su
<link linkend="language.variables.external">variabili da fonti
esterne</link>.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>parse_url</function></member>
<member><function>pathinfo</function></member>
<member><function>http_build_query</function></member>
<member><function>urldecode</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
-->