Files
doc-fr/reference/strings/functions/sscanf.xml
Sergey Panteleev f532d78fd2 Sync various sections (#223)
Co-authored-by: George Peter Banyard <girgias@php.net>
2022-05-11 12:57:19 +01:00

156 lines
4.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4225e50bc391ddba99e367c231463da0dc04357d Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.sscanf" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sscanf</refname>
<refpurpose>Analyse une chaîne à l'aide d'un format</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>int</type><type>null</type></type><methodname>sscanf</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
<methodparam rep="repeat"><type>mixed</type><parameter role="reference">vars</parameter></methodparam>
</methodsynopsis>
<para>
<function>sscanf</function> est l'inverse de la fonction
<function>printf</function>. <function>sscanf</function> lit
des données dans la chaîne <parameter>string</parameter>, et
l'interprète en fonction du format <parameter>format</parameter>.
</para>
<para>
Tous les caractères blancs dans la chaîne <parameter>format</parameter> correspondent
à un caractère blanc dans la chaîne <parameter>string</parameter>. Cela signifie que
même une tabulation (<literal>\t</literal>) dans la chaîne de format peut correspondre à
un simple espace dans la chaîne <parameter>str</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
La chaîne à analyser.
</para>
</listitem>
</varlistentry>
&strings.scanf.parameter.format;
<varlistentry>
<term><parameter>vars</parameter></term>
<listitem>
<para>
Optionnellement, vous pouvez passer des variables dans ce paramètre,
par référence qui contiendront les valeurs de l'analyse.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Si seulement deux paramètres sont fournis, les valeurs trouvées
seront retournées sous forme de tableau. Sinon, si le paramètre
optionnel sont fourni, la fonction retournera le nombre de
valeurs assignées. Le paramètre optionnel doit être passé par
référence.
</para>
<para>
S'il y a plus de sous-chaînes attendus dans le paramètre
<parameter>format</parameter>, qu'il y a de disponibles dans
<parameter>string</parameter>, alors &null; sera retourné.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>sscanf</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Lecture d'un numéro de série
list($serial) = sscanf("SN/2350001", "SN/%d");
// et la date de fabrication
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Le produit $serial a été fabriqué le : $year-" . substr($month, 0, 3) . "-$day\n";
?>
]]>
</programlisting>
</example>
</para>
<para>
Si des paramètres optionnels sont passés, <function>sscanf</function> retournera
le nombre de valeurs assignées.
</para>
<para>
<example>
<title><function>sscanf</function> - utilisation des paramètres optionnels</title>
<programlisting role="php">
<![CDATA[
<?php
// lit les informations d'auteur, et génère une entrée DocBook
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
<firstname>$first</firstname>
<surname>$last</surname>
</author>\n";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>printf</function></member>
<member><function>sprintf</function></member>
<member><function>fprintf</function></member>
<member><function>vprintf</function></member>
<member><function>vsprintf</function></member>
<member><function>vfprintf</function></member>
<member><function>fscanf</function></member>
<member><function>number_format</function></member>
<member><function>date</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
-->