有没有一种很好的方法可以迭代字符串的字符?我希望能够做到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)从字符串构建字符数组的更好方法(如果可以,那么其他方向呢?)
我觉得我在这里缺少明显的东西。 问题来源于stack overflow
步骤1:使用str_split函数将字符串转换为数组
$array = str_split($your_string);
步骤2:遍历新创建的数组
foreach ($array as $char) { echo $char; }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。