首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中Foreach字符串

在PHP中Foreach字符串
EN

Stack Overflow用户
提问于 2018-10-11 08:11:35
回答 1查看 1.7K关注 0票数 2

最近,我发现需要通过string来处理他的信件

据我所知,PHP中的string被表示为一个字节的array,如文档中所述。

然后我自然而然地写道:

代码语言:javascript
复制
$str = 'Hello';
foreach ($str as $letter) {
   doMyThingsOnLetter($letter);
}

不幸的是,我收到了一个错误,告诉我我已经为foreach提供了一个invalid argument

我知道这是可行的:

代码语言:javascript
复制
$str = 'Hello';
for($i = 0; $i < strlen($str); $i++) {
   doMyThingsOnLetter($str[$i]);
}

所以在这里,$str被认为是一个数组,但是通过一个foreach,我们得到了一个无效参数的错误(当它在文档中声明它允许数组时)

PS:我知道str_split()就是为了这个目的而存在的,但这不是我关心的问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 08:16:38

$str[$i]不会将其视为数组。这只是substr($str, $i, 1)的一种简写形式。

您可以使用str_split()从字符串中获取字符数组:

代码语言:javascript
复制
foreach (str_split($str) as $letter)

documentation

可以访问和修改字符串中的

字符,方法是使用方阵括号指定字符串后面所需字符的从零开始的偏移量,如在$str[42]中一样。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52750370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档