PHP 2字符减量(AB->;AA)
我正在使用PHPExcel实现一些导出函数。 由于PHP可以自动增加字母表,它一直工作得很好,但我在尝试减少字母表时遇到了一个问题。 我可以像这样递减单个字符PHP 2字符减量(AB->;AA),php,phpexcel,Php,Phpexcel,我正在使用PHPExcel实现一些导出函数。 由于PHP可以自动增加字母表,它一直工作得很好,但我在尝试减少字母表时遇到了一个问题。 我可以像这样递减单个字符$decremented=chr(ord($someChar)-1),但它不适用于2个字符(如“AA”、“BB”等) 有没有办法减少两个字符?比如“ZZ”->“ZX”,“AA”->“Z” 任何帮助或想法都将不胜感激 这里有一个适用于您的递减函数: function decrement($str) { $index = strlen($s
$decremented=chr(ord($someChar)-1)代码>,但它不适用于2个字符(如“AA”、“BB”等)
有没有办法减少两个字符?比如“ZZ”->“ZX”,“AA”->“Z”
任何帮助或想法都将不胜感激 这里有一个适用于您的递减函数:
function decrement($str) {
$index = strlen($str)-1;
$ord = ord($str[$index]);
if ($ord > 65) {
// The final character is still greater than A, decrement
return substr($str, 0, $index) . chr($ord-1);
}
if ($index > 0) {
// Strip the final 2 characters and append a Z
return substr($str, 0, $index-1) . 'Z';
}
// Can't be decremented
return false;
}
这是一个适用于您的减量功能:
function decrement($str) {
$index = strlen($str)-1;
$ord = ord($str[$index]);
if ($ord > 65) {
// The final character is still greater than A, decrement
return substr($str, 0, $index) . chr($ord-1);
}
if ($index > 0) {
// Strip the final 2 characters and append a Z
return substr($str, 0, $index-1) . 'Z';
}
// Can't be decremented
return false;
}
有人为此编写了一个函数
有人为此写了一个函数
是的,但这不是一个简单的声明,你必须做一些测试,以确保你的减量不低于A
,除此之外还有很多。但你肯定在递增时做了类似的事情,所以当你递增Z
时,你会得到AA
是的,但这不是一个简单的语句,你必须做一些测试,以确保你的减量不低于AA
,除此之外还有很多。但你肯定在增加时做了类似的事情,所以当你增加Z
时,你会得到AA
非常感谢!实际上更好。我的电脑无法通过YYX
正确处理BBX
值。非常感谢!实际上更好。我的无法通过YYX
正确处理BBX
值。