Gibt es eine gute Möglichkeit, die Zeichen einer Zeichenfolge zu durchlaufen? Ich möchte in der Lage sein zu tun foreach
, array_map
, array_walk
, array_filter
usw. auf den Zeichen einer Zeichenkette.
Typ Casting / Jonglieren brachte mich nicht weiter (setzen Sie den gesamten String als ein Element des Arrays), und die beste Lösung, die ich gefunden habe, ist einfach die Verwendung einer for-Schleife zum Erstellen des Arrays. Es fühlt sich an, als ob es etwas Besseres geben sollte. Ich meine, wenn Sie darauf indizieren können, sollten Sie dann nicht auch iterieren können?
Das ist das Beste, was ich habe
function stringToArray($s)
{
$r = array();
for($i=0; $i<strlen($s); $i++)
$r[$i] = $s[$i];
return $r;
}
$s1 = "textasstringwoohoo";
$arr = stringToArray($s1); //$arr now has character array
$ascval = array_map('ord', $arr); //so i can do stuff like this
$foreach ($arr as $curChar) {....}
$evenAsciiOnly = array_filter( function($x) {return ord($x) % 2 === 0;}, $arr);
Gibt es entweder:
A) Eine Möglichkeit, die Zeichenfolge iterierbar zu machen
B) Eine bessere Möglichkeit, das Zeichenarray aus der Zeichenfolge zu erstellen (und wenn ja, wie wäre es mit der anderen Richtung?)
Ich habe das Gefühl, dass mir hier etwas Offensichtliches fehlt.
array_filter
in diesem Sinne tun würden, könnte besser mit