PHP 数字和字母字符串分割成索引数组(HashMap)
例如:
1aa2bb3cc4dd5ee
分割成数组:
array (
1 => 'aa',
2 => 'bb',
3 => 'cc',
4 => 'dd',
5 => 'ee',
)
答案
实现代码:
/**
* 数字和字母字符串分割成索引数组
* @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;
}