如何在PHP中顺序打印字母?

时间:2017-11-16 06:13:44

标签: php arrays array-merge

我有一个数组变量$arr = array('A','B','C','D');

$number = 5; (This is dynamic)

我的新数组值应为

$arr = array('A','B','C','D','E','F','G','H','I');

如果

$number = 3;

输出应为:

$arr = array('A','B','C','D','E','F','G');

如果$number变量超过22,则将数组从A打印到Z,然后打印AA, AB, AC..等。

如何在PHP代码中执行此操作?

4 个答案:

答案 0 :(得分:2)

这个怎么样:https://3v4l.org/IGhoL

<?php

/**
 * Increments letter
 * @param int   $number
 * @param array &$arr
 */
function increment($number, &$arr) {
    $char = end($arr);
    $char++;
    for ($i = 0; $i < $number; $i++, $char++) {
        $arr[] = $char;
    }
}

$arr = range('A', 'D');
$number = 30;

increment($number, $arr);
var_dump($arr);

答案 1 :(得分:1)

您可以通过递增来增加字母,然后将其存储在该数组本身。这将打印两个字母序列,即AA,AB ......

$arr = array('A','B','C','D'); 
$item = end($arr) ;
$i = 0 ;
while( $i++ < $number ) {
    $arr[] = ++$item  ;
}
print_r($arr) ;

答案 2 :(得分:0)

以下是将字符串从字母添加到带偏移的数组的示例。这适用于一个char。如果你想为更多的字符工作,请使用循环循环。

for ($c = ord('A') + $offset ;$c <= ord('Z');$c++) {
  Array[] += chr($c);

}

答案 3 :(得分:0)

$output = array();
$arr = array(A,B,C,D,E);
$data = range('F','Z');
$num = 4;

if($num < 22){
    $output = array_merge($arr,array_slice($data, 0, $num));    
}else{
     // Write ur format here..
    // $output = array('AA','AB',......,'AZ');
}

echo '<pre>';
print_r($output);