Bir dize karakterler üzerinde yineleme için güzel bir yolu var mı? Ben bir dize karakterler foreach
, array_map
, array_walk
, array_filter
vb yapabilmek istiyorum.
Tip döküm / hokkabazlık (dizinin bir elemanı olarak bütün dize koymak) beni her yerde alamadım ve ben buldum iyi çözüm sadece dizi oluşturmak için bir for döngüsü kullanıyor. Daha iyi bir şey olmalı gibi geliyor. Siz de yineleme mümkün üzerine dizin olmamalı eğer ben, demek?
Bu elimdeki iyi
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);
Ya var mı:
A) A way to make the string iterable
B) A better way to build the character array from the string (and if so, how about the other direction?)
Ben im here belirgin bir şey eksik gibi hissediyorum.