1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 08:42:13 +01:00
Files
archived-doc-ru/reference/strings/functions/strcspn.xml
Mikhail Alferov 414b2e63dd Update strcspn.xml
2024-05-20 23:13:57 +03:00

212 lines
7.3 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 422bb032237525aaf50e6a43f33362a2c610a1d7 Maintainer: kyaniv Status: ready -->
<!-- Reviewed: no -->
<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>strspn</function> начнёт проверку строки
<parameter>string</parameter> с позиции, которую указали в параметре
<parameter>offset</parameter>, начиная с конца строки <parameter>string</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Длина фрагмента строки <parameter>string</parameter> для проверки.
</para>
<para>
Если параметр <parameter>length</parameter> указали
и его значение — не отрицательное значение,
функция проверит <parameter>length</parameter>
символов строки <parameter>string</parameter>, отсчитывая от
стартовой позиции.
</para>
<para>
Если длину <parameter>length</parameter> передали и значение длины отрицательное,
функция проверит символы начиная со стартовой позиции и до значения параметра
<parameter>length</parameter>
с конца строки <parameter>string</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает длину начального фрагмента строки <parameter>string</parameter>, которая
состоит полностью из символов, <emphasis>не</emphasis> включённых в параметр <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.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('abcd', 'apple');
$b = strcspn('abcd', 'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');
$e = strcspn('abcdhelloabcd', 'abcd', -9);
$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
int(0)
int(0)
int(2)
int(2)
int(5)
int(4)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.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
-->