-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy patharray-slice.xml
226 lines (223 loc) · 5.97 KB
/
array-slice.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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: cd943f94a013b74df8765ab8e1a620a916a64a85 Maintainer: gerdtsteltner Status: ready -->
<!-- CREDITS: tom -->
<refentry xml:id="function.array-slice" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_slice</refname>
<refpurpose>Extrahiert einen Ausschnitt eines Arrays</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_slice</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>length</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>preserve_keys</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
<function>array_slice</function> liefert die mittels
<parameter>offset</parameter> und <parameter>length</parameter>
spezifizierte Sequenz von Elementen des Arrays
<parameter>array</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
Das Eingabe-Array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Ist <parameter>offset</parameter> nicht negativ, beginnt die
Sequenz bei diesem Offset in dem <parameter>array</parameter>.
</para>
<para>
Ist <parameter>offset</parameter> negativ, beginnt die Sequenz
so viele Elemente vor dem Ende von <parameter>array</parameter>.
</para>
<note>
<para>
Der <parameter>offset</parameter> Parameter gibt die Position
im Array an, nicht den Schlüssel.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Ist <parameter>length</parameter> angegeben und positiv, enthält
die Sequenz bis zu so viele Elemente.
</para>
<para>
Ist das Array kürzer als <parameter>length</parameter>, dann werden nur
die verfügbaren Array-Elemente vorhanden sein.
</para>
<para>
Ist <parameter>length</parameter> angegeben und negativ, endet die
Sequenz so viele Elemente vor dem Ende des Arrays.
</para>
<para>
Wenn nicht angegeben, enthält die Sequenz alle Elemente von
<parameter>offset</parameter> bis zum Ende von
<parameter>array</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>preserve_keys</parameter></term>
<listitem>
<note>
<para>
<function>array_slice</function> setzt
standardmäßig ganzzahlige Schlüssel des Arrays zurück und vergibt sie neu.
Dieses Verhalten kann geändert werden, indem
<parameter>preserve_keys</parameter> auf &true; gesetzt wird.
Zeichenkettenschlüssel werden immer erhalten, unabhängig von diesem Parameter.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt den Ausschnitt zurück. Ist der gewählte offset größer als die Anzahl an Array-Elementen,
wird ein leeres Array zurückgegeben.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>array_slice</function>-Beispiele</title>
<programlisting role="php">
<![CDATA[
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // liefert "c", "d" und "e"
$output = array_slice($input, -2, 1); // liefert "d"
$output = array_slice($input, 0, 3); // liefert "a", "b" und "c"
// beachten Sie die Unterschiede in den Schlüsseln
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0] => c
[1] => d
)
Array
(
[2] => c
[3] => d
)
]]>
</screen>
</example>
</para>
<para>
<example>
<title><function>array_slice</function> und ein mit 1 beginnendes Array</title>
<programlisting role="php">
<![CDATA[
<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0] => b
[1] => c
)
]]>
</screen>
</example>
</para>
<para>
<example>
<title><function>array_slice</function> und Array mit gemischten Schlüsseln</title>
<programlisting role="php">
<![CDATA[
<?php
$ar = array('a'=>'Apfel', 'b'=>'Banane', '42'=>'Pfirsisch', 'd'=>'Orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => Apfel
[b] => Banane
[0] => Pfirsisch
)
Array
(
[a] => Apfel
[b] => Banane
[42] => Pfirsisch
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_chunk</function></member>
<member><function>array_splice</function></member>
<member><function>unset</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
-->