有没有一种很好的方法可以迭代字符串的字符?我希望能够做到foreach
,array_map
,array_walk
,array_filter
在字符串中的字符等。
类型转换/杂耍并没有带我到任何地方(将整个字符串作为数组的一个元素),而我发现的最佳解决方案只是使用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)使字符串可迭代的方法
B)从字符串构建字符数组的更好方法(如果可以,那么其他方向呢?)
我觉得我在这里缺少明显的东西。
array_filter
使用字符串或reg-ex函数可以更好地完成这种意义上的任何事情