-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathmax.xml
206 lines (192 loc) · 6.22 KB
/
max.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
196
197
198
199
200
201
202
203
204
205
206
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8a0ab242e83ec201615c947eaa0e1c5719576c12 Maintainer: sammywg Status: ready -->
<refentry xml:id="function.max" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>max</refname>
<refpurpose>Bestimmt den Maximalwert</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>max</methodname>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
<methodparam rep="repeat"><type>mixed</type><parameter>values</parameter></methodparam>
</methodsynopsis>
<simpara>
Alternative Signatur (benannte Parameter werden nicht unterstützt):
</simpara>
<methodsynopsis>
<type>mixed</type><methodname>max</methodname>
<methodparam><type>array</type><parameter>value_array</parameter></methodparam>
</methodsynopsis>
<para>
Ist der erste und einzige Parameter ein Array, gibt
<function>max</function> den größten Wert dieses Arrays zurück. Werden
mindestens zwei Parameter übergeben, gibt <function>max</function> den
größeren dieser Werte zurück.
</para>
<note>
<para>
Werte unterschiedlichen Typs werden unter Verwendung der
<link linkend="language.operators.comparison">Standard-Vergleichsregeln</link>
verglichen. Zum Beispiel wird ein nichtnumerischer <type>string</type> mit
einem <type>int</type> verglichen, als ob er <literal>0</literal> wäre,
aber mehrere nichtnumerische <type>string</type>-Werte werden
alphanumerisch verglichen. Der tatsächlich zurückgegebene Wert ist vom
ursprünglichen Typ ohne angewandte Umwandlung.
</para>
</note>
<caution>
<simpara>
Vorsicht ist geboten, wenn Argumente verschiedenen Typs übergeben werden,
da <function>max</function> in diesem Fall unvorhersehbare Ergebnisse
liefert.
</simpara>
</caution>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Ein <link linkend="language.operators.comparison">vergleichbarer</link>
Wert.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>values</parameter></term>
<listitem>
<para>
Jegliche
<link linkend="language.operators.comparison">vergleichbaren</link> Werte.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value_array</parameter></term>
<listitem>
<para>
Ein Array, das Werte enthält.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>max</function> gibt den gemäß den Standard-Vergleichen als
"größten" angesehenen Parameter-Wert zurück. Evaluieren mehrere Werte
unterschiedlichen Typs als gleich (&zb; <literal>0</literal> und
<literal>'abc'</literal>), wird der zuerst übergebene zurückgegeben.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Wird ein leeres Array übergeben, löst <function>max</function> einen
<classname>ValueError</classname> aus.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<function>max</function> löst bei einem Fehler nun einen
<classname>ValueError</classname> aus; vorher wurde &false;
zurückgegeben und ein Fehler der Stufe <constant>E_WARNING</constant>
ausgegeben.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Die Art und Weise, wie
<link linkend="migration80.incompatible.core.string-number-comparision">Zeichenketten und Zahlen verglichen werden</link>,
wurde geändert, sodass <function>max</function> in solchen Fällen nicht
mehr je nach Reihenfolge der Argumente unterschiedliche Werte
zurückgibt.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Beispiel für die Verwendung von <function>max</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo max(2, 3, 1, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
// Hier vergleichen wir -1 < 0, sodass 'hallo' der größte Wert ist
echo max('hallo', -1); // hallo
// Bei mehreren Arrays unterschiedlicher Länge, gibt max das längste zurück
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
// Mehrere Arrays gleicher Länge werden von links nach rechts verglichen,
// daher ist in unserem Beispiel 2 == 2, aber 5 > 4
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)
// Sind ein Array und ein Nicht-Array-Parameter gegeben, wird das Array zurückgegeben,
// da Vergleiche Arrays als größer behandeln als alle anderen Werte
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
// Ist ein Argument NULL oder ein boolescher Wert, wird es mit anderen Werten
// unter Verwendung der Regel FALSE < TRUE verglichen, ohne Rücksicht auf die anderen beteiligten Typen
// Im folgenden Beispiel wird -10 im Vergleich wie TRUE behandelt
$val = max(-10, FALSE); // -10
// Andererseits wird 0 wie FALSE behandelt, so dass es "kleiner" ist als TRUE
$val = max(0, TRUE); // TRUE
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>min</function></member>
<member><function>count</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
-->