【问题标题】:How to extract all alphabetical characters from a string and store as a 1-dim array?如何从字符串中提取所有字母字符并存储为一维数组?
【发布时间】:2017-03-29 09:47:30
【问题描述】:

我有一个变量$var = "My name's Ankit"。我想将$var的所有英文字母字符存储到数组$charvar中。我知道我可以在$var 和array_push 字符的整个长度上使用一个简单的循环,如果它们是英文字符,则忽略它们。但是,我想知道 PHP 是否提供了一些可以做到这一点的函数。 我在$charvar 中想要的是:

Array
(
        [0] => M
        [1] => y
        [2] => n
        [3] => a
        [4] => m
        [5] => e
        [6] => s
        [7] => A
        [8] => n
        [9] => k
        [10] => i
        [11] => t
)

【问题讨论】:

    标签: php arrays string split alphabetical


    【解决方案1】:

    PHP code demo

    preg_match_all("![a-zA-Z0-9]!", "My name's Ankit",$matches);
    print_r($matches);
    

    输出:

    Array
    (
        [0] => Array
            (
                [0] => M
                [1] => y
                [2] => n
                [3] => a
                [4] => m
                [5] => e
                [6] => s
                [7] => A
                [8] => n
                [9] => k
                [10] => i
                [11] => t
            )
    
    )
    

    【讨论】:

      【解决方案2】:

      其他答案不够好。

      这正是您想要的一步/一个功能。将字符串拆分为零个或多个非字母字符。

      代码(Demo):

      $var = "My name's Ankit";
      $charvar = preg_split('/[^a-z]*/i', $var, 0, PREG_SPLIT_NO_EMPTY);
      var_export($charvar);
      

      输出:(无子数组)

      array (
        0 => 'M',
        1 => 'y',
        2 => 'n',
        3 => 'a',
        4 => 'm',
        5 => 'e',
        6 => 's',
        7 => 'A',
        8 => 'n',
        9 => 'k',
        10 => 'i',
        11 => 't',
      )
      

      【讨论】:

        【解决方案3】:

        您可以使用此方法去除所有字符,只留下您想要的字符。让我们假设$s 是存储字符串的位置。要仅选择字母,请尝试;

        $result = preg_replace("/[^a-zA-Z]+/", "", $s);
        

        要添加数字,请尝试;

        $result = preg_replace("/[^a-zA-Z0-9]+/", "", $s);
        

        您可以为任何其他角色使用它。

        对于您的情况;

        $var = "My name's Ankit"
        $charvar = preg_replace("/[^a-zA-Z]+/", "", $var);
        

        如果有帮助,请告诉我。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-08
          相关资源
          最近更新 更多