不多BB,直接上需求内容
就是 用年月日去对应图中的年月日,比如今天2020-05-10,对应的就是05A
实现:
主要看怎么数字转字母那一块:
echo strtoupper(chr(65));
echo strtolower(chr(65));
echo strtoupper(chr(65+date('j')-10));
由于图中是跳过了I 和 O 所以你还需要在date(‘j’) 经过了 18和23的时候,将date(‘j’) ++;所以建议把 date(‘j’)弄成变量 比如
$M = date('j');
if($M >= 18){$M ++;}
if($M >= 23){$M ++;}
strtoupper(chr(65+$M-10));
官网描述:chr — 返回指定的字符,返回相对应于 ascii 所指定的单个字符。也就是从ASCII表里返回字符,所以只要从ASCII表里把ACBD用对应进制的数据取出来就行了 再用strtoupper()或strtolower() 修改成大小写,也就不用专门取小写,毕竟你让我背ASCII表的话,我不干
ASCII表:
二进制 | 十进制 | 十六进制 | 图形 |
---|
0100 0001 | 65 | 41 | A | 0100 0010 | 66 | 42 | B | 0100 0011 | 67 | 43 | C | 0100 0100 | 68 | 44 | D | 0100 0101 | 69 | 45 | E | 0100 0110 | 70 | 46 | F | 0100 0111 | 71 | 47 | G | 0100 1000 | 72 | 48 | H | 0100 1001 | 73 | 49 | I | 0100 1010 | 74 | 4A | J | 0100 1011 | 75 | 4B | K | 0100 1100 | 76 | 4C | L | 0100 1101 | 77 | 4D | M | 0100 1110 | 78 | 4E | N | 0100 1111 | 79 | 4F | O | 0101 0000 | 80 | 50 | P | 0101 0001 | 81 | 51 | Q | 0101 0010 | 82 | 52 | R | 0101 0011 | 83 | 53 | S | 0101 0100 | 84 | 54 | T | 0101 0101 | 85 | 55 | U | 0101 0110 | 86 | 56 | V | 0101 0111 | 87 | 57 | W | 0101 1000 | 88 | 58 | X | 0101 1001 | 89 | 59 | Y | 0101 1010 | 90 | 5A | Z | |