Empty string Does'n returns Empty array!
$arr0 = str_split("");
print_r($arr0);
Array
(
[0] =>
)
(PHP 5, PHP 7, PHP 8)
str_split — Konvertiert einen String in ein Array
$string
, int $length
= 1): arrayKonvertiert eine Zeichenkette in ein Array.
string
Die Eingabezeichenkette.
length
Maximale Länge eines Teilstücks.
Wenn der optionale Parameter length
angegeben wurde,
enthält das zurückgegebene Array Elemente mit der in
length
definierten Länge. Eine Ausnahme bildet das
letzte Teilstück, das kürzer sein kann, wenn die Zeichenkette nicht
gleichmäßig aufgeteilt ist. Der Standardwert von
length
ist 1
, was bedeutet, dass
jeder Abschnitt ein Byte groß ist.
Wenn der Parameter length
kleiner ist als
1
, wird ein ValueError ausgelöst.
Version | Beschreibung |
---|---|
8.0.0 |
Wenn der Parameter length kleiner ist als
1 , wird nun ein ValueError
ausgelöst; vorher wurde ein Fehler der Stufe
E_WARNING ausgelöst und die Funktion gab false
zurück.
|
Beispiel #1 Beispiel für die Verwendung von str_split()
<?php
$str = "Hallo Freund";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [0] => H [1] => a [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => e [9] => u [10] => n [11] => d ) Array ( [0] => Hal [1] => lo [2] => Fre [3] => und )
Hinweis:
Wenn eine Multibyte-kodierte Zeichenkette vorliegt, trennt str_split() in Bytes anstatt Zeichen. Mit mb_str_split() kann die Zeichenkette in Codepunkte zerlegt werden.
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;
}
?>