我尝试以这种方式使用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内置了一些可以处理字母数字范围生成的东西吗?
谢谢
谢谢
答案 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);
?>