我尝试以这种方式使用range():
echo '<pre>'. print_r(range('A1', 'A4'), 1) .'</pre>';
Run Code Online (Sandbox Code Playgroud)
创建此数组:
A1
A2
A3
A4
Run Code Online (Sandbox Code Playgroud)
但实际上它返回了:
Array
(
[0] => A
)
Run Code Online (Sandbox Code Playgroud)
阅读文档会确认这种用途不是预期用途。
我可以使用以下代码获得所需的结果:
$myRange = ['A1', 'A2', 'A3', 'A4'];
Run Code Online (Sandbox Code Playgroud)
但是使用4时感觉效率很低,虽然还不错,但是当任务变成三位数时,任务就变成了Herculian。PHP内置了一些可以处理字母数字范围生成的东西吗?
谢谢,
谢谢
$prefix = "A";
$arr = array_map(function ($e) use ($prefix) { return $prefix . strval($e);}, range(1,4));
Run Code Online (Sandbox Code Playgroud)
或作为功能:
function alphanumericRange($prefix, $start, $end)
{
return array_map(function ($e) use ($prefix) {return $prefix . strval($e);}, range($start, $end));
}
Run Code Online (Sandbox Code Playgroud)