使用数字和大写字母增加变量

时间:2015-10-21 14:19:46

标签: php

你能告诉我如何将PHP中的变量从00增加到ZZ吗?

A5,8R,GG ......

我试过这个,但这只是为了信:

for($i="AA"; $i<="ZZ" AND strlen($i)<=2; $i++)

谢谢

2 个答案:

答案 0 :(得分:2)

我创建了一个小片段,应该演示如何使用range($start,$end)来创建您要找的内容

<?php 
//create an array with all values from 0-9 and A-Z
$range = array_merge(range("0","9"),range("A","Z"));

//create counter-aray
$counter = array();

//loop through the range
foreach($range as $value1){
    foreach($range as $value2){
        $counter[] = $value1.$value2;
    }
}

//show the counter
print_r($counter);
?>

结果:

Array
(
    [0] => 00
    [1] => 01
    [2] => 02
    [3] => 03
    [4] => 04
    [5] => 05
    [6] => 06
    [7] => 07
    [8] => 08
    [9] => 09
    [10] => 0A
    [11] => 0B
    [12] => 0C
    [13] => 0D
    [14] => 0E
    [15] => 0F
    [16] => 0G
    [17] => 0H
    [18] => 0I
    [19] => 0J
    [20] => 0K
    [21] => 0L
.....many more values follow here
)
如果您需要进一步解释,请随时提出问题

答案 1 :(得分:1)

实际上听起来好像是在 base 36 中添加数字。由于PHP可以在基数之间进行转换,you could add the numbers in base 10 then convert into base 36.

for($i = 0; $i <= base_convert("zz", 36, 10); $i++) {
    echo(str_pad(strtoupper(base_convert($i, 10, 36)), 2, "0", STR_PAD_LEFT) . PHP_EOL);    
}
  • $i是基数为10的整数,将从0循环到1295.(基数为10 zz。)
  • base_convert$i从基数10转换为基数36。
  • strtoupper将结果字符串转换为大写字母,因此您获得AA而不是aa
  • str_pad会添加引导0以将0等值转换为00