<?php
declare(strict_types=1);
function countOccurrence(int $number, int $digit){
$result = 0;
while ($number > 0){
$lastDigit = $number % 10;
if($lastDigit === $digit){
$result++;
}
$number = ($number - $lastDigit)/10;
}
return $result;
}
echo countOccurrence(1111,1); // this is fine :)
echo PHP_EOL; // just a line-break
echo countOccurrence(1111,'1'); // this will throw an error with strict_types=1
4
Fatal error: Uncaught TypeError: countOccurrence(): Argument #2 ($digit) must be of type int, string given, called in /in/QPYAt on line 19 and defined in /in/QPYAt:5
Stack trace:
#0 /in/QPYAt(19): countOccurrence(1111, '1')
#1 {main}
thrown in /in/QPYAt on line 5
Process exited with code 255.
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
4
Fatal error: Uncaught TypeError: Argument 2 passed to countOccurrence() must be of the type int, string given, called in /in/QPYAt on line 19 and defined in /in/QPYAt:5
Stack trace:
#0 /in/QPYAt(19): countOccurrence(1111, '1')
#1 {main}
thrown in /in/QPYAt on line 5
Process exited with code 255.
Output for 7.2.0 - 7.2.33
4
Fatal error: Uncaught TypeError: Argument 2 passed to countOccurrence() must be of the type integer, string given, called in /in/QPYAt on line 19 and defined in /in/QPYAt:5
Stack trace:
#0 /in/QPYAt(19): countOccurrence(1111, '1')
#1 {main}
thrown in /in/QPYAt on line 5
Process exited with code 255.