我有一个简单的 PHP 函数,可以计算整数中特定数字的个数
function countOccurrence($number, $digit){
$result = 0;
while ($number > 0){
$lastDigit = $number % 10;
if($lastDigit === $digit){
$result++;
}
$number = ($number - $lastDigit)/10;
}
return $result;
}
它本身工作得很好[用 countOccurrence(1111, 1) 测试并返回 4]
但是当我在一个数字范围的循环中使用它时,它总是返回 0。
if (isset($_POST['submit'])){
$startNum = $_POST['startNum'];
$endNum = $_POST['endNum'];
$findNum = $_POST['findNum'];
$occur = 0;
echo 'from ' . $startNum . ' to ' . $endNum . ' find how many times ' . $findNum . ' occurs';
echo '<br>';
$numRange = makeArray($startNum, $endNum);
foreach ($numRange as $number){
$test = countOccurrence($number, $findNum);
echo 'number: ' . $number . ' find: ' . $findNum . ' countOccurrence('.$number.', '.$findNum.'): ' . $test . '<br>';
}
echo '<br>';
echo '<p>The digit ' . $findNum . ' occurred ' . $occur . ' times within the range</p>';
echo '<br>';
echo 'countOccurrence(1111, 1) = ';
$test = countOccurrence(1111, 1);
echo $test;
}
我从中得到的结果是“number: 1 find: 1 countOccurrence(1, 1): 0”等等
我不太确定这里出了什么问题,因为当我手动测试该功能时它看起来没问题
catspeake
慕码人2483693