使用数组语法访问字符串中的字符

Cri*_*ian 8 php string

假设我们有这个代码$test = 'text';.echo $test[0]和之间有什么区别echo $test{0}?结果是一样的.

处理包含类似字符数组的字符串的变量是一个好习惯吗?

Fab*_*ler 14

好的,我将汇总我的评论作为答案:

引用手册

为了相同的目的,也可以使用大括号访问字符串,如$ str {42}.但是,从PHP 6开始,不推荐使用此语法.请改用方括号.

此外,虽然没有文档,但{}访问器也适用于数组,这使得$ foo {$ bar}和$ foo [$ bar]完全相同.它只是为了方便Perl程序员的旧语法.

关于你的第二个问题,如果将字符串视为一个字符数组是好的做法:是的,如果它对你的任务有用,那就去做吧.在像C这样的低级语言中,字符串字符数组,所以对它们进行处理是很自然的.

但请记住,PHP具有糟糕的unicode支持.因此,如果您的字符串采用多字节编码(即UTF-8),则可能无法按预期工作.在这种情况下,最好使用多字节功能.