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

例如:

  1. 1aa2bb3cc4dd5ee

分割成数组:

  1. array (
  2. 1 => 'aa',
  3. 2 => 'bb',
  4. 3 => 'cc',
  5. 4 => 'dd',
  6. 5 => 'ee',
  7. )

答案

实现代码:

  1. /**
  2. * 数字和字母字符串分割成索引数组
  3. * @param $str string 输入字符串
  4. * @return array 索引数组
  5. */
  6. function numStrToMap($str)
  7. {
  8. $number = preg_split('/[a-z]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
  9. $alphabet = preg_split('/\d+/', $str, -1, PREG_SPLIT_NO_EMPTY);
  10. $n = count($number);
  11. $res = [];
  12. for ($i = 0; $i < $n; $i++) {
  13. $res[$number[$i]] = $alphabet[$i];
  14. }
  15. return $res;
  16. }