按 php 中的特定值递增数字等字母
Increment letters like number by certain value in php
在php如果我写
$c='A';<br>
$c++;
它增加到 'B' 但如果我想增加 2 ,3 或更多,
例如: $c+2 或 $c+3 ,得到备用字母
for ($column = 'B'; $column < $highestColumn; $column++) {
$cell = $worksheet->getCell($column.$row);
$cell2=$worksheet->getCell($column+1.$row);
}
但是 $column+1 不起作用
怎么做?
如果你想把字符加2,添加是行不通的。
试试这个:
echo chr(ord($c) + 2)
解释:
- 使用ord($c)计算$c的ascii值
- ascii值加2。
- 使用 chr() 函数将此 achii 值转换为字符串。
注意:
正如 Mark Baker 指定的那样,这仅对 Z 有效,对 Z 之外无效。
递增字母仅适用于 ++
增量运算符,不适用于 +
加法。
如果想继续使用增量器,可以使用循环:
$column = 'AH';
$step = 7; // number of columns to step by
for($ = 0; $i < $step; $i++) {
$column++;
}
但是,PHP 的字符增量器不会向后工作,因此您不能使用负步长值
如果您想使用加法而不是循环,则需要将该列转换为数值,进行加法,然后再转换回来
$column = 'AH';
$step = 7; // number of columns to step by
$columnNumber = PHPExcel_Cell::columnIndexFromString($column) + $step;
$column = PHPExcel_Cell::stringFromColumnIndex($columnNumber - 1);
它的额外好处是允许您使用负步长值
在php如果我写
$c='A';<br>
$c++;
它增加到 'B' 但如果我想增加 2 ,3 或更多,
例如: $c+2 或 $c+3 ,得到备用字母
for ($column = 'B'; $column < $highestColumn; $column++) {
$cell = $worksheet->getCell($column.$row);
$cell2=$worksheet->getCell($column+1.$row);
}
但是 $column+1 不起作用
怎么做?
如果你想把字符加2,添加是行不通的。
试试这个:
echo chr(ord($c) + 2)
解释:
- 使用ord($c)计算$c的ascii值
- ascii值加2。
- 使用 chr() 函数将此 achii 值转换为字符串。
注意: 正如 Mark Baker 指定的那样,这仅对 Z 有效,对 Z 之外无效。
递增字母仅适用于 ++
增量运算符,不适用于 +
加法。
如果想继续使用增量器,可以使用循环:
$column = 'AH';
$step = 7; // number of columns to step by
for($ = 0; $i < $step; $i++) {
$column++;
}
但是,PHP 的字符增量器不会向后工作,因此您不能使用负步长值
如果您想使用加法而不是循环,则需要将该列转换为数值,进行加法,然后再转换回来
$column = 'AH';
$step = 7; // number of columns to step by
$columnNumber = PHPExcel_Cell::columnIndexFromString($column) + $step;
$column = PHPExcel_Cell::stringFromColumnIndex($columnNumber - 1);
它的额外好处是允许您使用负步长值