我有一个数组变量$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代码中执行此操作?
答案 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);