开发者社区> 问答> 正文

PHP-迭代字符串字符

有没有一种很好的方法可以迭代字符串的字符?我希望能够做到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

展开
收起
保持可爱mmm 2020-02-08 10:17:13 557 0
1 条回答
写回答
取消 提交回答
  • 步骤1:使用str_split函数将字符串转换为数组

    $array = str_split($your_string);

    步骤2:遍历新创建的数组

    foreach ($array as $char) { echo $char; }

    2020-02-08 10:17:29
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载