在PHP中创建字母数字范围

时间:2019-03-12 16:07:31

标签: php arrays range

我尝试以这种方式使用range()

echo '<pre>'. print_r(range('A1', 'A4'), 1) .'</pre>';

创建此数组:

A1
A2
A3
A4

但是它实际上返回了:

Array
(
    [0] => A
)

阅读文档会确认这种用途不是预期用途。

我可以使用以下代码获得所需的结果:

$myRange = ['A1', 'A2', 'A3', 'A4'];

但是感觉效率很低,虽然为4,还不错,但是当任务变成三位数时,任务就变成了Herculian。 PHP内置了一些可以处理字母数字范围生成的东西吗?

谢谢

谢谢

2 个答案:

答案 0 :(得分:5)

您可以使用array_map和范围:

$prefix = "A";
$arr = array_map(function ($e) use ($prefix) { return $prefix . strval($e);}, range(1,4));

或作为功能:

function alphanumericRange($prefix, $start, $end)
{
    return array_map(function ($e) use ($prefix) {return $prefix . strval($e);}, range($start, $end));
}

答案 1 :(得分:2)

array_map()用这种方式怎么样?

<?php
function addA($sValue) {
    return 'A'.$sValue;
}

$range = range(1,10);
$alphabet_range = array_map("addA", $range);
print_r($alphabet_range);
?>

演示: https://3v4l.org/kGmTL