是否有任何等价的函数返回PHP中位置`X`的字符?

问题描述:

是否有任何等价函数返回PHP中位置为X的字符?是否有任何等价的函数返回PHP中位置`X`的字符?

我经历了文档,但找不到任何。我在寻找的东西,如:

$charAtPosition20 = strCharAt(20, $myString); 

您可以使用: $myString[20]

+1

+1 []括号 – fmsf 2009-07-14 23:21:29

没关系发现它:)

echo $str[1]; 

//那么明显

+6

{}语法自PHP 6起弃用。建议使用方括号。 – 2009-07-14 23:19:52

+0

好吧ty在线上的一个例子中发现了这个问题我会更正它 – fmsf 2009-07-14 23:20:30

echo $myString{20}; 

或:

substr($mystring, 20, 1) 
+0

正如已经在其他人所说的答案的评论在这里,最好使用[]而不是{} – danicotra 2013-11-09 14:32:01

有两种方法可以实现这一目标:

  1. 使用方括号和索引在指定位置直接访问字符,如:$string[$index]$string[1];

  2. 使用substr功能:string substr (string $string , int $start [, int $length ])
    进一步信息,请参见http://us2.php.net/manual/en/function.substr.php

简单易行的方法!

$string = 'Here is the text'; 
echo $string{2}; 

它返回字符“E”,这是在位置2

可以遍历每个字符的字符串。喜欢这个。

$string = 'Here is the text'; 
echo $string{0}; // output H 
echo $string{1}; // output e 
echo $string{2}; // output r 

...

要指出的一个小警告我的Strings page of the manual注意到:

警告在内部,PHP字符串字节数组。因此,使用数组括号访问或修改字符串不是多字节安全的,只能使用单字节编码的字符串(如ISO-8859-1)来完成。

str_split()函数可以将字符串分解为每个字符(或特定长度子字符串)的数组,但也不处理多字节字符串。然而,用户在那里提出的评论提供了一些潜在的解