数字和字母字符串分割成索引数组(HashMap)PHP版

例如:

1aa2bb3cc4dd5ee

分割成数组:

array (
  1 => 'aa',
  2 => 'bb',
  3 => 'cc',
  4 => 'dd',
  5 => 'ee',
)
256 5月之前 PHP 字符串 数组

答案

实现代码:

/**
 * 数字和字母字符串分割成索引数组
 * @param $str string 输入字符串
 * @return array 索引数组
 */
function numStrToMap($str)
{
    $number = preg_split('/[a-z]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
    $alphabet = preg_split('/\d+/', $str, -1, PREG_SPLIT_NO_EMPTY);
    $n = count($number);

    $res = [];
    for ($i = 0; $i < $n; $i++) {
        $res[$number[$i]] = $alphabet[$i];
    }

    return $res;
}