如何在php中将带数字的字符串转换为数组?

如何在php中将带数字的字符串转换为数组?,php,Php,我有字符串:“33a49bc12d”,我想要这个数组0=>33,1=>a,2=>49,3=>bc,4=>12,5=>d。这不是我的本事。你能帮我吗?Thx您可以从以下内容开始: <?php $text = "33a49bc12d"; preg_match_all("/([\d]+|[a-z]+)/i", $text, $out); print_r($out[0]); ?> Array ( [0] => 33 [1] => a [2] =>

我有字符串:“33a49bc12d”,我想要这个数组0=>33,1=>a,2=>49,3=>bc,4=>12,5=>d。这不是我的本事。你能帮我吗?Thx

您可以从以下内容开始:

<?php
$text = "33a49bc12d";
preg_match_all("/([\d]+|[a-z]+)/i", $text, $out);
print_r($out[0]);
?> 

Array
(
    [0] => 33
    [1] => a
    [2] => 49
    [3] => bc
    [4] => 12
    [5] => d
)

排列
(
[0] => 33
[1] =>a
[2] => 49
[3] =>bc
[4] => 12
[5] =>d
)

控制字符串拆分位置的规则是什么?@Clive似乎是数字和字母的边界,请至少执行;其中一个regex/preg_match_所有答案都可以。@mario我知道你可能是regex的超级粉丝,但像这样的问题并不需要regex。尤其是向初学者建议的一个坏主意@AlvinWong确信可以用PHP编写十行手动字符串遍历和匹配。但有一行正则表达式似乎更具吸引力。不管怎样,在这样的小事上。没错,虽然它可能是这份工作的正确工具,但对新来者来说,它不一定是正确的建议。Thx,我以前都试过preg_match_,但没有成功