Есть ли хороший способ перебора символов строки? Я хотел бы иметь возможность выполнять foreach
, array_map
, array_walk
, array_filter
и т. Д. Для символов строки.
Приведение типов / жонглирование меня никуда не привело (поместила всю строку как один элемент массива), и лучшее решение я ' ve found просто использует цикл for для создания массива. Такое ощущение, что должно быть что-то получше. Я имею в виду, если вы можете проиндексировать его, разве вы не сможете итерировать?
Это лучшее, что у меня есть
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);
Есть ли что-то:
A) Способ сделать строку повторяемой
Б) Лучший способ построить символьный массив из строки (и если да, то как насчет другого направления?)
Мне кажется, что я упускаю здесь что-то очевидное.