if( !function_exists('mb_str_split')){
function mb_str_split( $string = '', $length = 1 , $encoding = null ){
if(!empty($string)){
$split = array();
$mb_strlen = mb_strlen($string,$encoding);
for($pi = 0; $pi < $mb_strlen; $pi += $length){
$substr = mb_substr($string, $pi,$length,$encoding);
if( !empty($substr)){
$split[] = $substr;
}
}
}
return $split;
}
}mb_str_split
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
mb_str_split
Референца за `function.mb-str-split.php` со подобрена типографија и навигација.
mb_str_split
(PHP 7 >= 7.4.0, PHP 8)
mb_str_split — (PHP 7 >= 7.4.0, PHP 8)
= NULL
Given a multibyte string, return an array of its characters str_split() This function will return an array of strings, it is a version of length with support for encodings of variable character size as well as fixed-size encodings of 1,2 or 4 byte characters. If the encoding parameter is specified, the string is broken down into chunks of the specified length in characters (not bytes). The
Параметри
string-
На string parameter can be optionally specified and it is good practice to do so.
length-
to split into characters or chunks.
encoding-
На
encodingпараметарот е кодирањето на карактерите. Ако е изоставен илиnull, ќе се користи внатрешната вредност за кодирање на карактерите.If specified, each element of the returned array will be composed of multiple characters instead of a single character. поддржани кодовни шеми.
Вратени вредности
mb_str_split() A string specifying one of the
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
encoding сега е null.
|
| 8.0.0 |
Оваа функција повеќе не враќа false при неуспех.
|
Види Исто така
- str_split() - Претвори стринг во низа
- grapheme_str_split() - Подели стринг во низа
- explode() - Подели стринг по стринг
Белешки од корисници 2 забелешки
Note: function return NULL if can't convert argument type.
Polyfill PHP < 7.4 based on package "symfony/polyfill-mbstring":
<?php
function mb_str_split($string, $split_length = 1, $encoding = null)
{
if (null !== $string && !\is_scalar($string) && !(\is_object($string) && \method_exists($string, '__toString'))) {
trigger_error('mb_str_split(): expects parameter 1 to be string, '.\gettype($string).' given', E_USER_WARNING);
return null;
}
if (null !== $split_length && !\is_bool($split_length) && !\is_numeric($split_length)) {
trigger_error('mb_str_split(): expects parameter 2 to be int, '.\gettype($split_length).' given', E_USER_WARNING);
return null;
}
$split_length = (int) $split_length;
if (1 > $split_length) {
trigger_error('mb_str_split(): The length of each segment must be greater than zero', E_USER_WARNING);
return false;
}
if (null === $encoding) {
$encoding = mb_internal_encoding();
} else {
$encoding = (string) $encoding;
}
if (! in_array($encoding, mb_list_encodings(), true)) {
static $aliases;
if ($aliases === null) {
$aliases = [];
foreach (mb_list_encodings() as $encoding) {
$encoding_aliases = mb_encoding_aliases($encoding);
if ($encoding_aliases) {
foreach ($encoding_aliases as $alias) {
$aliases[] = $alias;
}
}
}
}
if (! in_array($encoding, $aliases, true)) {
trigger_error('mb_str_split(): Unknown encoding "'.$encoding.'"', E_USER_WARNING);
return null;
}
}
$result = [];
$length = mb_strlen($string, $encoding);
for ($i = 0; $i < $length; $i += $split_length) {
$result[] = mb_substr($string, $i, $split_length, $encoding);
}
return $result;
}
?>