首页 > 解决方案 > PHP总和子字符串的最后6位数字

问题描述

我正在尝试从 substr() 的最后 6 位添加所有数字。假设这个数字是 19283774616,我试图从中得到结果:7+7+4+6+1+6 = ?。这是我当前的代码

public function accountHash($accountNumber)
{
    $result = 0;
    $accountNumber = substr($accountNumber, -6);

    for($i=0; $i<=strlen($accountNumber); $i++) {
        $result += substr($accountNumber, $i, 1); // A non-numeric value encountered here
    }

    echo $result;

}

从上面的函数中,发生“遇到非数字值”错误。需要有关如何执行此操作的建议。谢谢

标签: phpsubstr

解决方案


您需要在 for 循环中使用<而不是。<=

你可以用更简单的方法来做,

$result = 0;
for($i = 0; $i < 6; $i++){
    $result += $string[-$i];
}

推荐阅读