mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
204 lines
5.5 KiB
XML
204 lines
5.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 5d7f95f58f99eb121d25348370ee6146c0442b0c Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandoc,ae,leonardolara -->
|
||
<refentry xml:id="function.parse-str" xmlns="http://docbook.org/ns/docbook">
|
||
<refnamediv>
|
||
<refname>parse_str</refname>
|
||
<refpurpose>Converte a string em variáveis</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>
|
||
Interpreta <parameter>string</parameter> como se ela fosse uma string de consulta
|
||
passada via URL e cria variáveis no escopo atual ou no array se
|
||
informado em <parameter>result</parameter>.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="parameters">
|
||
&reftitle.parameters;
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><parameter>string</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
A string de entrada.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>result</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
Se o segundo parâmetro <parameter>result</parameter> for informado,
|
||
as variáveis serão gravadas como elementos de array.
|
||
</para>
|
||
|
||
<warning>
|
||
<para>
|
||
Utilizar esta função sem o parâmetro <parameter>result</parameter> é altamente
|
||
<emphasis>DESENCORAJADO</emphasis> e foi <emphasis>DESCONTINUADO</emphasis> a partir do PHP 7.2.
|
||
Desde o 8.0.0, o parâmetro <parameter>result</parameter> é <emphasis>obrigatório</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> não é mais opcional.
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>7.2.0</entry>
|
||
<entry>
|
||
Utilização de <function>parse_str</function> sem o segundo parâmetro
|
||
agora emite um aviso de <constant>E_DEPRECATED</constant>.
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="examples">
|
||
&reftitle.examples;
|
||
<para>
|
||
<example>
|
||
<title>Usando <function>parse_str</function></title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
$str = "first=value&arr[]=foo+bar&arr[]=baz";
|
||
|
||
// Recomendado
|
||
parse_str($str, $output);
|
||
echo $output['first']; // value
|
||
echo $output['arr'][0]; // foo bar
|
||
echo $output['arr'][1]; // baz
|
||
|
||
// DESENCORAJADO
|
||
parse_str($str);
|
||
echo $first; // value
|
||
echo $arr[0]; // foo bar
|
||
echo $arr[1]; // baz
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
Como variáveis no PHP não podem conter pontos ou espaços em seus nomes,
|
||
estes são convertidos em sublinhados. O mesmo se aplica aos nomes de
|
||
chaves de array no caso de utilizar esta função com o parâmetro
|
||
<parameter>result</parameter>.
|
||
<example>
|
||
<title>Confusão de nomes em <function>parse_str</function></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>
|
||
<function>parse_str()</function> é afetado pela diretiva <link linkend="ini.max-input-vars">max_input_vars</link>.
|
||
Exceder esse limite emite um <constant>E_WARNING</constant>,
|
||
e quaisquer variáveis além do limite não são adicionadas ao array de resultados.
|
||
O padrão é 1000; ajuste <link linkend="ini.max-input-vars">max_input_vars</link> conforme necessário.
|
||
</para>
|
||
</note>
|
||
|
||
<note>
|
||
<para>
|
||
Todas as variáveis criadas ou os valores informados no array do segundo parâmetro,
|
||
já estarão automaticamente convertidos por<function>urldecode</function>.
|
||
</para>
|
||
</note>
|
||
<note>
|
||
<para>
|
||
Para obter a string de consulta (<literal>QUERY_STRING</literal>) em si, vocẽ pode utilizar a variável
|
||
<varname>$_SERVER['QUERY_STRING']</varname>.
|
||
Além disso, leia a seção sobre
|
||
<link linkend="language.variables.external">variáveis de fontes
|
||
externas</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
|
||
-->
|