-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathstrcspn.xml
200 lines (191 loc) · 6.04 KB
/
strcspn.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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 89990d6588947665d4e9c029ee83696f1a9d3d11 Maintainer: daijie Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.strcspn" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>strcspn</refname>
<refpurpose>获取不匹配遮罩的起始子字符串的长度</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>strcspn</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam><type>string</type><parameter>characters</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>offset</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>length</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
返回 <parameter>string</parameter> 中,所有字符都<emphasis>不</emphasis>存在于 <parameter>characters</parameter> 范围的起始子字符串的长度。
</para>
<para>
如果省略 <parameter>offset</parameter> 和 <parameter>length</parameter>,则将检查所有的
<parameter>string</parameter>。如果包含前面两个参数,那么跟调用 <literal>strcspn(substr($string, $offset, $length),
$characters)</literal> 效果相同(参阅 <xref linkend="function.substr"/> 获取更新信息)。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
要检查的字符串。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>characters</parameter></term>
<listitem>
<para>
包含每个不允许的字符的字符串。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
<parameter>string</parameter> 开始搜索的位置。
</para>
<para>
如果给出的 <parameter>offset</parameter> 是非负数,然后 <function>strcspn</function> 将会从 <parameter>string</parameter> 的
<parameter>offset</parameter> 位置开始检查字符串。例如。在字符串“<literal>abcdef</literal>”中,位置为 <literal>0</literal>
的字符是“<literal>a</literal>”,位置为 <literal>2</literal> 的字符是“<literal>c</literal>”,等等。
</para>
<para>
如果给出的 <parameter>offset</parameter> 是负数,则 <function>strcspn</function> 将会从距离 <parameter>string</parameter> 末尾的第
<parameter>offset</parameter> 个位置开始检查字符串。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
要检查的部分 <parameter>string</parameter> 的长度。
</para>
<para>
如果给出的 <parameter>length</parameter> 是非负数,然后将检查 <parameter>string</parameter> 中起始位置后的 <parameter>length</parameter> 字符。
</para>
<para>
If <parameter>length</parameter> is given and is negative,
then <parameter>string</parameter> will be examined from the
starting position up to <parameter>length</parameter>
characters from the end of <parameter>string</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns the length of the initial segment of <parameter>string</parameter>
which consists entirely of characters <emphasis>not</emphasis> in <parameter>characters</parameter>.
</para>
<note>
<para>
当设置了 <parameter>offset</parameter> 参数时,返回的长度是从该位置开始计算,而不是从 <parameter>string</parameter> 的开头计算。
</para>
</note>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
<simpara>
在 PHP 8.4.0 之前,当 <parameter>characters</parameter> 为空字符串时,搜索会错误地停止在
<parameter>string</parameter> 的第一个 null 字节处。
</simpara>
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>length</parameter> 现在允许为 null。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example xml:id="strcspn.example">
<title><function>strcspn</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
$a = strcspn('banana', 'a');
$b = strcspn('banana', 'abcd');
$c = strcspn('banana', 'z');
$d = strcspn('abcdhelloabcd', 'a', -9);
$e = strcspn('abcdhelloabcd', 'a', -9, -5);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
int(1)
int(0)
int(6)
int(5)
int(4)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
¬e.bin-safe;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>strspn</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
-->