functions.arguments.html
26.7 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
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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Funktionsparameter</title>
</head>
<body><div class="manualnavbar" style="text-align: center;">
<div class="prev" style="text-align: left; float: left;"><a href="functions.user-defined.html">Vom Nutzer definierte Funktionen</a></div>
<div class="next" style="text-align: right; float: right;"><a href="functions.returning-values.html">Rückgabewerte</a></div>
<div class="up"><a href="language.functions.html">Funktionen</a></div>
<div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="functions.arguments" class="sect1">
<h2 class="title">Funktionsparameter</h2>
<p class="simpara">
Mit einer Parameterliste kann man Informationen an eine Funktion
übergeben. Die Parameterliste ist eine durch Kommas getrennte
Liste von Ausdrücken.
</p>
<p class="para">
PHP unterstützt die Weitergabe von Parametern als Werte (das ist
der Standard), als <a href="functions.arguments.html#functions.arguments.by-reference" class="link">Verweise</a> und
als <a href="functions.arguments.html#functions.arguments.default" class="link">Vorgabewerte</a>.
<a href="functions.arguments.html#functions.variable-arg-list" class="link">Eine variable Anzahl
von Parametern</a> wird ebenfalls unterstützt, siehe auch die
Funktionsreferenzen für
<span class="function"><a href="function.func-num-args.html" class="function">func_num_args()</a></span>,
<span class="function"><a href="function.func-get-arg.html" class="function">func_get_arg()</a></span> und
<span class="function"><a href="function.func-get-args.html" class="function">func_get_args()</a></span> für weitere Informationen.
</p>
<p class="para">
<div class="example" id="example-113">
<p><strong>Beispiel #1 Arrays an Funktionen übergeben</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">rechne_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$eingabe</span><span style="color: #007700">)<br />{<br /> echo </span><span style="color: #DD0000">"</span><span style="color: #0000BB">$eingabe</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]</span><span style="color: #DD0000"> + </span><span style="color: #0000BB">$eingabe</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]</span><span style="color: #DD0000"> = "</span><span style="color: #007700">, </span><span style="color: #0000BB">$eingabe</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]+</span><span style="color: #0000BB">$eingabe</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">];<br />}<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div>
</p>
<div class="sect2" id="functions.arguments.by-reference">
<h3 class="title">Verweise als Parameter übergeben</h3>
<p class="simpara">
Normalerweise werden den Funktionen Werte als Parameter
übermittelt. Wenn man den Wert dieses Parameters innerhalb der
Funktion ändert, bleibt der Parameter außerhalb der Funktion
unverändert. Wollen Sie aber erreichen, dass die Änderung auch außerhalb
der Funktion sichtbar wird, müssen Sie die Parameter als Verweise
(Referenzen) übergeben.
</p>
<p class="para">
Wenn eine Funktion einen Parameter generell als Verweis behandeln
soll, setzt man in der Funktionsdefinition ein kaufmännisches Und
(&) vor den Parameternamen:
</p>
<p class="para">
<div class="example" id="example-114">
<p><strong>Beispiel #2 Übergeben von Funktionsparametern als Verweis</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">fuege_etwas_anderes_an </span><span style="color: #007700">(&</span><span style="color: #0000BB">$string</span><span style="color: #007700">)<br />{<br /> </span><span style="color: #0000BB">$string </span><span style="color: #007700">.= </span><span style="color: #DD0000">'und nun zu etwas anderem.'</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">$str </span><span style="color: #007700">= </span><span style="color: #DD0000">'Dies ist ein String, '</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">fuege_etwas_anderes_an </span><span style="color: #007700">(</span><span style="color: #0000BB">$str</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$str</span><span style="color: #007700">; </span><span style="color: #FF8000">// Ausgabe: 'Dies ist ein String, und nun zu etwas anderem.'<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div>
</p>
</div>
<div class="sect2" id="functions.arguments.default">
<h3 class="title">Vorgabewerte für Parameter</h3>
<p class="para">
Eine Funktion kann C++-artige Vorgabewerte für skalare Parameter
wie folgt definieren:
</p>
<p class="para">
<div class="example" id="example-115">
<p><strong>Beispiel #3 Einsatz von Vorgabeparametern</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">machkaffee </span><span style="color: #007700">(</span><span style="color: #0000BB">$typ </span><span style="color: #007700">= </span><span style="color: #DD0000">"Cappucino"</span><span style="color: #007700">)<br />{<br /> return </span><span style="color: #DD0000">"Ich mache eine Tasse </span><span style="color: #0000BB">$typ</span><span style="color: #DD0000">.\n"</span><span style="color: #007700">;<br />}<br />echo </span><span style="color: #0000BB">machkaffee </span><span style="color: #007700">();<br />echo </span><span style="color: #0000BB">machkaffee </span><span style="color: #007700">(</span><span style="color: #0000BB">null</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">machkaffee </span><span style="color: #007700">(</span><span style="color: #DD0000">"Espresso"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div>
</p>
<p class="para">
Die Ausgabe von diesem kleinen Skript ist:
</p>
<p class="para">
<div class="example-contents screen"><br />
Ich mache eine Tasse Cappucino.<br />
Ich mache eine Tasse.<br />
Ich mache eine Tasse Espresso.<br />
</div>
</p>
<p class="para">
PHP gestattet es, Arrays und den speziellen Typ <strong><code>NULL</code></strong> als
Vorgabewert zu nutzen, zum Beispiel:
</p>
<p class="para">
<div class="example" id="example-116">
<p><strong>Beispiel #4 Nichtskalare Typen als Vorgabewert</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">makecoffee </span><span style="color: #007700">(</span><span style="color: #0000BB">$types </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"cappuccino"</span><span style="color: #007700">), </span><span style="color: #0000BB">$coffeeMaker </span><span style="color: #007700">= </span><span style="color: #0000BB">NULL</span><span style="color: #007700">)<br />{<br /> </span><span style="color: #0000BB">$device </span><span style="color: #007700">= </span><span style="color: #0000BB">is_null</span><span style="color: #007700">(</span><span style="color: #0000BB">$coffeeMaker</span><span style="color: #007700">) ? </span><span style="color: #DD0000">"hands" </span><span style="color: #007700">: </span><span style="color: #0000BB">$coffeeMaker</span><span style="color: #007700">;<br /> return </span><span style="color: #DD0000">"Ich mache eine Tasse "</span><span style="color: #007700">.</span><span style="color: #0000BB">join</span><span style="color: #007700">(</span><span style="color: #DD0000">", "</span><span style="color: #007700">, </span><span style="color: #0000BB">$types</span><span style="color: #007700">).</span><span style="color: #DD0000">" mit </span><span style="color: #0000BB">$device</span><span style="color: #DD0000">.\n"</span><span style="color: #007700">;<br />}<br />echo </span><span style="color: #0000BB">makecoffee </span><span style="color: #007700">();<br />echo </span><span style="color: #0000BB">makecoffee </span><span style="color: #007700">(array(</span><span style="color: #DD0000">"cappuccino"</span><span style="color: #007700">, </span><span style="color: #DD0000">"lavazza"</span><span style="color: #007700">), </span><span style="color: #DD0000">"teapot"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div>
</p>
<p class="simpara">
Der Vorgabewert muss ein konstanter Ausdruck sein, darf also zum
Beispiel keine Variable, Eigenschaft einer Klasse oder ein
Funktionsaufruf sein.
</p>
<p class="para">
Bitte beachten Sie, dass alle Parameter mit Vorgabewert rechts von den
Parametern ohne Vorgabewert stehen müssen - sonst wird es nicht
funktionieren. Betrachten Sie folgendes Beispiel:
</p>
<p class="para">
<div class="example" id="example-117">
<p><strong>Beispiel #5 Ungültige Anwendung von Vorgabewerten</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">mach_joghurt </span><span style="color: #007700">(</span><span style="color: #0000BB">$typ </span><span style="color: #007700">= </span><span style="color: #DD0000">"rechtsdrehendes"</span><span style="color: #007700">, </span><span style="color: #0000BB">$geschmack</span><span style="color: #007700">)<br />{<br /> return </span><span style="color: #DD0000">"Mache einen Becher </span><span style="color: #0000BB">$typ</span><span style="color: #DD0000"> </span><span style="color: #0000BB">$geschmack</span><span style="color: #DD0000">-joghurt.\n"</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">mach_joghurt </span><span style="color: #007700">(</span><span style="color: #DD0000">"Brombeer"</span><span style="color: #007700">); </span><span style="color: #FF8000">// arbeitet nicht wie erwartet<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div>
</p>
<p class="para">
Die Ausgabe dieses Beispiels ist:
</p>
<p class="para">
<div class="example-contents screen"><br />
Warning: Missing argument 2 in call to mach_joghurt() in<br />
/usr/local/etc/httpd/htdocs/phptest/functest.html on line 41<br />
Mache einen Becher Brombeer-joghurt.<br />
</div>
</p>
<p class="para">
Nun vergleichen Sie bitte oberes Beispiel mit folgendem:
</p>
<p class="para">
<div class="example" id="example-118">
<p><strong>Beispiel #6 Richtiger Einsatz von Vorgabewerten</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">mach_joghurt </span><span style="color: #007700">(</span><span style="color: #0000BB">$geschmack</span><span style="color: #007700">, </span><span style="color: #0000BB">$typ </span><span style="color: #007700">= </span><span style="color: #DD0000">"rechtsdrehendes"</span><span style="color: #007700">)<br />{<br /> return </span><span style="color: #DD0000">"Mache einen Becher </span><span style="color: #0000BB">$typ</span><span style="color: #DD0000"> </span><span style="color: #0000BB">$geschmack</span><span style="color: #DD0000">-Joghurt.\n"</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">mach_joghurt </span><span style="color: #007700">(</span><span style="color: #DD0000">"Brombeer"</span><span style="color: #007700">); </span><span style="color: #FF8000">// arbeitet wie erwartet.<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div>
</p>
<p class="para">
... und jetzt ist die Ausgabe:
</p>
<p class="para">
<div class="example-contents screen"><br />
Mache einen Becher rechtsdrehendes Brombeer-Joghurt.<br />
</div>
</p>
<blockquote class="note"><p><strong class="note">Hinweis</strong>:
<span class="simpara">
Das Setzen von Standardwerten für Argumente, die als Referenz
übergeben werden ("passed by reference") wird seit PHP 5
unterstützt.
</span>
</p></blockquote>
</div>
<div class="sect2" id="functions.variable-arg-list">
<h3 class="title">Variable Anzahl von Parametern</h3>
<p class="simpara">
PHP unterstützt eine variable Anzahl an Parametern für benutzerdefinierte
Funktionen. Dies wird seit PHP 5.6 durch das Token <em>...</em>
umgesetzt. Für ältere Versionen von PHP stehen die Funktionen
<span class="function"><a href="function.func-num-args.html" class="function">func_num_args()</a></span>, <span class="function"><a href="function.func-get-arg.html" class="function">func_get_arg()</a></span>, und
<span class="function"><a href="function.func-get-args.html" class="function">func_get_args()</a></span> bereit.
</p>
<div class="sect3" id="functions.variable-arg-list.new">
<h4 class="title"><em>...</em> in PHP 5.6+</h4>
<p class="para">
Ab PHP 5.6 kann eine Liste von Parametern das Token <em>...</em>
enthalten um anzugeben, dass die Funktion eine variable Anzahl von
Paramtern akzeptiert. Die zusätzlichen Werte werden als array übergeben.
Zum Beispiel:
<div class="example" id="example-119">
<p><strong>Beispiel #7 Verwendung von <em>...</em> für den Zugriff auf
variable Parameter</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">sum</span><span style="color: #007700">(...</span><span style="color: #0000BB">$numbers</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$acc </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /> foreach (</span><span style="color: #0000BB">$numbers </span><span style="color: #007700">as </span><span style="color: #0000BB">$n</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$acc </span><span style="color: #007700">+= </span><span style="color: #0000BB">$n</span><span style="color: #007700">;<br /> }<br /> return </span><span style="color: #0000BB">$acc</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">sum</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
10
</pre></div>
</div>
</div>
</p>
<p class="para">
Das Token <em>...</em> kann ebenfalls dazu verwendet werden, um
ein <span class="type"><a href="language.types.array.html" class="type array">array</a></span> oder <a href="class.traversable.html" class="classname">Traversable</a> Objekt als
Liste von Parametern zu übergeben:
<div class="example" id="example-120">
<p><strong>Beispiel #8 Verwendung von <em>...</em> zur Übergabe einer Parameterliste</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">add</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">) {<br /> return </span><span style="color: #0000BB">$a </span><span style="color: #007700">+ </span><span style="color: #0000BB">$b</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">add</span><span style="color: #007700">(...[</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">]).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= [</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">];<br />echo </span><span style="color: #0000BB">add</span><span style="color: #007700">(...</span><span style="color: #0000BB">$a</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
3
3
</pre></div>
</div>
</div>
</p>
<p class="para">
Die Definition von regulären, positionierten Parametern vor dem <em>...</em>
ist natürlich weiterhin möglich. In einem solchen Fall werden dann nur die
zusätzlichen Werte, die zu keinem positionierten Parameter gehören, in
das durch <em>...</em> erzeugte array übernommen.
</p>
<p class="para">
Es ist zudem ebenfalls möglich dem <em>...</em> Token eine
<a href="language.oop5.typehinting.html" class="link">Typangabe</a> voran zu
stellen. Ist dies der Fall, müssen alle Werte, die für <em>...</em>
relevant sind, vom entsprechenden Typ sein.
<div class="example" id="example-121">
<p><strong>Beispiel #9 Variable Paramter mit Vorgabe des Typs</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">total_intervals</span><span style="color: #007700">(</span><span style="color: #0000BB">$unit</span><span style="color: #007700">, </span><span style="color: #0000BB">DateInterval </span><span style="color: #007700">...</span><span style="color: #0000BB">$intervals</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$time </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /> foreach (</span><span style="color: #0000BB">$intervals </span><span style="color: #007700">as </span><span style="color: #0000BB">$interval</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$time </span><span style="color: #007700">+= </span><span style="color: #0000BB">$interval</span><span style="color: #007700">-></span><span style="color: #0000BB">$unit</span><span style="color: #007700">;<br /> }<br /> return </span><span style="color: #0000BB">$time</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= new </span><span style="color: #0000BB">DateInterval</span><span style="color: #007700">(</span><span style="color: #DD0000">'P1D'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= new </span><span style="color: #0000BB">DateInterval</span><span style="color: #007700">(</span><span style="color: #DD0000">'P2D'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">total_intervals</span><span style="color: #007700">(</span><span style="color: #DD0000">'d'</span><span style="color: #007700">, </span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">).</span><span style="color: #DD0000">' days'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Dieser Aufruf wird scheitern, da null keine Instanz von DateInterval ist<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">total_intervals</span><span style="color: #007700">(</span><span style="color: #DD0000">'d'</span><span style="color: #007700">, </span><span style="color: #0000BB">null</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
3 days
Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2
</pre></div>
</div>
</div>
</p>
<p class="para">
Durch ein voran gestelltes <em>&</em> ist auch die Übergabe
<a href="functions.arguments.html#functions.arguments.by-reference" class="link">als Referenz</a>
möglich.
</p>
</div>
<div class="sect3" id="functions.variable-arg-list.old">
<h4 class="title">Ältere Versionen von PHP</h4>
<p class="para">
Eine spezielle Syntax ist zur Definition von variablen Paramtern nicht
notwendig. Um auf die übergebenen Werte zugreifen zu können, stehen
die Funktionen <span class="function"><a href="function.func-num-args.html" class="function">func_num_args()</a></span>,
<span class="function"><a href="function.func-get-arg.html" class="function">func_get_arg()</a></span> und <span class="function"><a href="function.func-get-args.html" class="function">func_get_args()</a></span>
bereit.
</p>
<p class="para">
Das erste Beispiel von weiter oben würde in PHP 5.5 und früher so
umgesetzt werden können:
<div class="example" id="example-122">
<p><strong>Beispiel #10 Zugriff auf variable Parameter in PHP 5.5 und früher</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">sum</span><span style="color: #007700">() {<br /> </span><span style="color: #0000BB">$acc </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /> foreach (</span><span style="color: #0000BB">func_get_args</span><span style="color: #007700">() as </span><span style="color: #0000BB">$n</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$acc </span><span style="color: #007700">+= </span><span style="color: #0000BB">$n</span><span style="color: #007700">;<br /> }<br /> return </span><span style="color: #0000BB">$acc</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">sum</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
10
</pre></div>
</div>
</div>
</p>
</div>
</div>
</div><hr /><div class="manualnavbar" style="text-align: center;">
<div class="prev" style="text-align: left; float: left;"><a href="functions.user-defined.html">Vom Nutzer definierte Funktionen</a></div>
<div class="next" style="text-align: right; float: right;"><a href="functions.returning-values.html">Rückgabewerte</a></div>
<div class="up"><a href="language.functions.html">Funktionen</a></div>
<div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>