代码之家  ›  专栏  ›  技术社区  ›  Max

用PHP减去字母数字值

php
  •  -2
  • Max  · 技术社区  · 6 年前

    我有一些数据是字母数字值,我的代码如下:

    $Diff1 = $row['RALL1'] - $row['ALL1'];
    
    echo "<tr>"; 
      echo "<td>". $Diff1 . "</td>"; 
    echo "</tr>"; 
    

    这里的rall和所有值都是字母数字字符,都以单个字母“a”开头,并以数字开头。例如,A14、A5、A2等。

    如果上述输出 $Diff1 是这样的: $Diff1 = a10 - a2 , 如何用PHP获得这个减法的结果?在这种情况下,应该是

    $Diff1 = a10 - a2 = a8
    

    谢谢。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Brindha Baskaran    6 年前

    您可以使用以下代码

    //$Diff1 = $row['RALL1'] - $row['ALL1'];
    $RALL1=ltrim($row['RALL1'],"a");
    $ALL1=ltrim($row['ALL1'],"a");
    $Diff1 = $RALL1 - $ALL1;
    $Diff1="a".$Diff1;
    echo "<tr>"; 
      echo "<td>". $Diff1 . "</td>"; 
    echo "</tr>";
    
        2
  •  2
  •   dbrumann    6 年前

    假设前面的字母可以被安全地忽略,您可以这样做:

    $first = (int) preg_replace('/[^\d]/', '', $row['RALL1']);
    $second = (int) preg_replace('/[^\d]/', '', $row['ALL']);
    
    $Diff1 = 'a' . ($first - $second);
    

    这个 preg_replace 将从行中筛选出非数字的任何内容。稍后我们做减法,并在结果前面加上一个字母,这里 a .