Increment letters like number by certain value in php

前端 未结 2 1733
时光取名叫无心
时光取名叫无心 2021-01-20 15:31

In php if I writ

$c=\'A\';
$c++;
it increments to \'B\' but if I want to increment it with 2 ,3 or more , eg: $c+2 or $c+3 ,

2条回答
  •  天涯浪人
    2021-01-20 16:10

    Incrementing letters will only work with the ++ incrementor operator, not with + addition.

    If you want to continue using an incrementor, you can use a loop:

    $column = 'AH';
    $step = 7; // number of columns to step by
    for($ = 0; $i < $step; $i++) {
        $column++;
    }
    

    However, PHP's character incrementor won't work backwards, so you couldn't use a negative step value


    If you want to use addition rather than a loop, then you need to convert that column to a numeric value, do the addition, then convert back

    $column = 'AH';
    $step = 7; // number of columns to step by
    $columnNumber = PHPExcel_Cell::columnIndexFromString($column) + $step;
    $column = PHPExcel_Cell::stringFromColumnIndex($columnNumber - 1);
    

    Which has the added benefit of allowing you to use negative step values

提交回复
热议问题