/
substr-compare.xml
187 lines (180 loc) · 5.72 KB
/
substr-compare.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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: a3573c18b89fd32aca1c3924d3fd9568900b4a33 Maintainer: sammywg Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: a3573c18b89fd32aca1c3924d3fd9568900b4a33 Reviewer: samesch -->
<refentry xml:id="function.substr-compare" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>substr_compare</refname>
<refpurpose>
Binärsicherer Vergleich zweier Strings, beginnend an einer bestimmten
Position und endend nach einer festgelegten Länge
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>substr_compare</methodname>
<methodparam><type>string</type><parameter>haystack</parameter></methodparam>
<methodparam><type>string</type><parameter>needle</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>case_insensitive</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
<function>substr_compare</function> vergleicht <parameter>haystack</parameter>
ab der in <parameter>offset</parameter> definierten Position mit
<parameter>needle</parameter>. Die Länge des verglichenen String-Bestandteils
wird vom Parameter <parameter>length</parameter> bestimmt.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>haystack</parameter></term>
<listitem>
<para>
Die zu vergleichende Hauptzeichenkette.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>needle</parameter></term>
<listitem>
<para>
Die zweite zu vergleichende Zeichenkette.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Die Anfangsposition für den Vergleich. Wenn der Wert negativ ist, wird
rückwärts vom Ende der Zeichenkette an gezählt.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Die Länge der zu vergleichenden Zeichensequenz. Standardwert ist der
größere Wert des Vergleiches der Länge von
<parameter>needle</parameter> mit der Länge von
<parameter>haystack</parameter> minus <parameter>offset</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>case_insensitive</parameter></term>
<listitem>
<para>
Wenn <parameter>case_insensitive</parameter> den Wert &true; hat,
wird der Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung
durchgeführt.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt <literal>-1</literal> zurück, wenn <parameter>haystack</parameter> ab
der in <parameter>offset</parameter> festgelegten Position in der
Reihenfolge der Sortierung vor <parameter>needle</parameter> kommt,
<literal>1</literal>, wenn es nach <parameter>needle</parameter> kommt, und
<literal>0</literal>, wenn sie gleich sind. Wenn der Parameter
<parameter>offset</parameter> gleich (vor PHP 7.2.18, 7.3.5) oder größer
als die Länge von <parameter>haystack</parameter> ist oder
<parameter>length</parameter> gesetzt und kleiner als 0 ist, gibt
<function>substr_compare</function> eine Warnung aus und hat den
Rückgabewert &false;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&standard.changelog.binary-safe-string-comparison;
<row>
<entry>8.0.0</entry>
<entry>
<parameter>length</parameter> ist nun nullable (akzeptiert den
&null;-Wert).
</entry>
</row>
<row>
<entry>7.2.18, 7.3.5</entry>
<entry>
<parameter>offset</parameter> kann nun gleich der Länge von
<parameter>haystack</parameter> sein.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ein <function>substr_compare</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // warning
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>strncmp</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
-->