在PHP中增加字母数字的特定值

时间:2016-09-04 06:12:50

标签: php phpexcel

如果我写的话在php中

$c='A';
$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 个答案:

答案 0 :(得分:5)

增量字母仅适用于++增量运算符,而不适用于+

如果要继续使用增量器,可以使用循环:

$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);

其中包含允许您使用负步值的附加好处

答案 1 :(得分:1)

如果要将字符增加2,则添加将无效。

请改为尝试:

echo chr(ord($c) + 2)

<强>解释

  1. 使用 ord($ c)
  2. 计算$ c的ascii值
  3. 将ascii值加2。
  4. 使用 chr()函数将此achii值转换为字符串。
  5. 请参阅ord()chr()函数。

    注意: 正如Mark Baker指定的那样,这只适用于Z而不是。