1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
2024-11-02 06:55:41 +03:00

199 lines
5.8 KiB
XML
Raw Permalink 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: 31e301590744e91ee5903f3e20973ddb9f3dadbb Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.str-split" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>str_split</refname>
<refpurpose>Преобразовывает строку в массив</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>str_split</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>length</parameter><initializer>1</initializer></methodparam>
</methodsynopsis>
<para>
Функция разбивает строку на элементы массива.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
Входная строка.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Максимальная длина части.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает массив строк.
Функция разобьёт строку на части заданной длины,
если указали необязательный аргумент <parameter>length</parameter>.
Длина каждой части будет равна значению аргумента <parameter>length</parameter>,
за исключением последней части, длина которой будет меньше, если строка делится неравномерно.
Значение параметра <parameter>length</parameter> по умолчанию — <literal>1</literal> байт.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Функция выбросит ошибку <classname>ValueError</classname>,
если значение аргумента <parameter>length</parameter> окажется меньше <literal>1</literal>.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.2.0</entry>
<entry>
Функция теперь возвращает пустой массив (&array;), если параметр <parameter>string</parameter> не указали;
раньше возвращался массив (&array;), который содержал одну пустую строку.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Функция теперь выбросит ошибку <classname>ValueError</classname>,
если значение аргумента <parameter>length</parameter> окажется меньше <literal>1</literal>;
раньше вместо этого функция вызывала ошибку уровня <constant>E_WARNING</constant>
и возвращала &false;.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример преобразования строки в массив функцией <function>str_split</function></title>
<programlisting role="php">
<![CDATA[
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Функция <function>str_split</function> разбивает строки
в многобайтовых кодировках по байтам, а не по символам.
На кодовые точки строку разбивает функция <function>mb_str_split</function>.
Для разбиения строки на кластеры графем вызывают функцию <function>grapheme_str_split</function>.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mb_str_split</function></member>
<member><function>grapheme_str_split</function></member>
<member><function>chunk_split</function></member>
<member><function>preg_split</function></member>
<member><function>explode</function></member>
<member><function>count_chars</function></member>
<member><function>str_word_count</function></member>
<member><link linkend="control-structures.for">Цикл for</link></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
-->