代码之家  ›  专栏  ›  技术社区  ›  fmsf

在PHP中,是否有任何等效函数返回位置“X”处的字符?

  •  11
  • fmsf  · 技术社区  · 16 年前

    X 在PHP?

    $charAtPosition20 = strCharAt(20, $myString);
    
    8 回复  |  直到 16 年前
        1
  •  31
  •   GEOCHET S.Lott    16 年前

    $myString[20] (请注意,索引从0开始)。

    有关多字节字符串,请参阅 answer below

        2
  •  6
  •   Jerska    12 年前

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

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

    2. 使用 substr 功能: string substr ( string $string , int $start [, int $length ] )
      http://us2.php.net/manual/en/function.substr.php 了解更多信息。

        3
  •  4
  •   teatime    9 年前

    为了指出我在 Strings page of the manual :

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

    str_split()

        4
  •  0
  •   fmsf    16 年前

    公认的答案适用于单字节(ASCII)字符串,但 。对于这些,您需要使用 mb_ mbstring 已安装并启用扩展。

    要获取多字节字符串位置的字符,请执行以下操作:

    $char = mb_substr($string, $position, 1);
    

    mb_substr 就像 substr 但对于多字节字符串,因此 1 最后只返回1个字符,但如果你想要更多的字符,你可以相应地更改它。

        5
  •  0
  •   GEOCHET S.Lott    16 年前

    echo $str[1];
    

        6
  •  0
  •   Rani Das    11 年前
    echo $myString{20};
    

    或者:

    substr($mystring, 20, 1)
    
        7
  •  0
  •   Sumit Bohemian    5 年前

    您可以遍历每个字符的字符串。这样地。

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

    ...

        8
  •  -3
  •   Lakshmi Narayanan    14 年前

    简单易行的方法!

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

    推荐文章