Empty string Does'n returns Empty array!
$arr0 = str_split("");
print_r($arr0);
Array
(
[0] =>
)
(PHP 5, PHP 7, PHP 8)
str_split — Преобразует строку в массив
$string
, int $length
= 1): arrayПреобразует строку в массив.
string
Входная строка.
length
Максимальная длина фрагмента.
Если указан необязательный параметр length
,
возвращаемый массив будет разбит на фрагменты, каждый из которых будет иметь длину length
,
за исключением последнего фрагмента, который может быть короче, если строка делится неравномерно.
По умолчанию параметр length
равен 1
,
то есть размер каждого фрагмента будет один байт.
Если параметр length
меньше 1
,
будет выброшена ошибка ValueError.
Версия | Описание |
---|---|
8.0.0 |
Теперь если параметр length меньше 1 ,
будет выброшена ошибка ValueError;
ранее, вместо этого выдавалась ошибка уровня E_WARNING ,
а функция возвращала false .
|
Пример #1 Пример использования str_split()
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
Результат выполнения данного примера:
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 )
Замечание:
Функция str_split() производит разбивку по байтам, а не по символам, в случае использования строк в многобайтных кодировках. Используйте функцию mb_str_split(), чтобы разбить строку на кодовые точки.
Empty string Does'n returns Empty array!
$arr0 = str_split("");
print_r($arr0);
Array
(
[0] =>
)
A good use of str_split is reverse translating an amino acid sequence.
<?php
/* reverse translate an aa sequence using its dna counterpart */
function reverseTranslate($aaSeq,$ntSeq){
$nt=str_split($ntSeq,3);
$aa=str_split($aaSeq,1);
$gapChar=array('*','-');
$numAa=count($aa);
$ntIndex=0;
$newNtSeq="";
for($i=0;$i<$numAa;$i++){
// if the aa is a gap, then just put on a gap character
if(in_array($aa[$i],$gapChar)){
$newNtSeq.='---';
}
else{
$newNtSeq.=$nt[$ntIndex];
$ntIndex++;
}
}
return $newNtSeq;
}
?>