-
Notifications
You must be signed in to change notification settings - Fork 165
Expand file tree
/
Copy pathclamp.xml
More file actions
157 lines (152 loc) · 5.19 KB
/
clamp.xml
File metadata and controls
157 lines (152 loc) · 5.19 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
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 1b1ac7b4e0b92f7affdf0394ce02c28de65e8f67 Maintainer: kylekatarnls Status: draft -->
<!-- Reviewed: no -->
<refentry xml:id="function.clamp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>clamp</refname>
<refpurpose>Retourne la valeur d'entrée si elle est comprise entre 2 bornes, sinon retourne la borne la plus proche</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>clamp</methodname>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
<methodparam><type>mixed</type><parameter>min</parameter></methodparam>
<methodparam><type>mixed</type><parameter>max</parameter></methodparam>
</methodsynopsis>
<para>
Retourne la valeur d'entrée si elle est comprise entre <parameter>min</parameter> et <parameter>max</parameter>.
Si elle est inférieure à <parameter>min</parameter>, retourne <parameter>min</parameter>.
Sinon retourne <parameter>max</parameter>.
</para>
<note>
<para>
Les valeurs de différents types seront comparées en utilisant
les <link linkend="language.operators.comparison">règles de
comparaison standard</link>. Actuellement, une chaîne non numérique
sera comparée à un &integer;, comme s'il s'agissait de la valeur
<literal>0</literal>, mais plusieurs &string; non-numérique seront comparées de façon
alphanumérique. La valeur actuelle retournée sera du même type que
l'original et aucune conversion de type ne sera appliquée.
</para>
</note>
<caution>
<simpara>
Soyez prudent lorsque vous passez des arguments avec des types différents,
car <function>clamp</function> peut produire des résultats imprévisibles.
</simpara>
</caution>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Toute valeur <link linkend="language.operators.comparison">comparable</link> à resserrer entre
<parameter>min</parameter> et <parameter>max</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>min</parameter></term>
<listitem>
<para>
Une valeur minimum <link linkend="language.operators.comparison">comparable</link>
à laquelle contraindre <parameter>value</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>max</parameter></term>
<listitem>
<para>
Une valeur maximum <link linkend="language.operators.comparison">comparable</link>
à laquelle contraindre <parameter>value</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
La fonction <function>clamp</function> retourne le paramètre <parameter>value</parameter>
s'il est considéré comme "entre" <parameter>min</parameter> et <parameter>max</parameter>
suivant la comparaison standard.
Si plusieurs valeurs de types différents sont évaluées comme étant égales
(i.e. <literal>0</literal> et <literal>'abc'</literal>), la première fournie
à la fonction sera retournée.
</para>
<para>
Si <parameter>value</parameter> est <constant>NAN</constant>, alors la valeur de retour
est également <constant>NAN</constant>.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Si <parameter>min</parameter> est supérieur à <parameter>max</parameter>,
la fonction <function>clamp</function> lance une <classname>ValueError</classname>.
</para>
<para>
Si <parameter>min</parameter> ou <parameter>max</parameter> est <constant>NAN</constant>,
la fonction <function>clamp</function> lance une <classname>ValueError</classname>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>clamp</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo clamp(-5, min: 0, max: 100), PHP_EOL; // 0
echo clamp(55, min: 0, max: 100), PHP_EOL; // 55
echo clamp(103, min: 0, max: 100), PHP_EOL; // 100
echo clamp("J", min: "A", max: "F"), PHP_EOL; // "F"
clamp(
new \DateTimeImmutable('2025-08-01'),
min: new \DateTimeImmutable('2025-08-15'),
max: new \DateTimeImmutable('2025-09-15'),
)->format('Y-m-d'), PHP_EOL; // 2025-08-15
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>min</function></member>
<member><function>max</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
-->