作るのはかなり簡単です。
<?php
/**
* @param int $number The beginning number
* @param int $divider The number dividing by
*
* @return array
* @throws Exception In case $number is not divisible by $divider
*/
function get_number_sequence($number, $divider) {
//In case $number is not divisible by $divider, throw an Exception.
if ($number % $divider !== 0) {
throw new Exception("$number is not divisible by $divider");
}
//Return an array from $divider to $number in steps of $divider.
$result = range($divider, $number, $divider);
return $result;
}
/*
* Testing begins
*/
try {
echo "<pre>";
echo implode(", ", get_number_sequence(24, 4)) . PHP_EOL;
echo implode(", ", get_number_sequence(24, 6)) . PHP_EOL;
echo implode(", ", get_number_sequence(24, 5)) . PHP_EOL;
echo "</pre>";
}
catch (Exception $e) {
echo "Invalid: " . $e->getMessage();
}
いくつかのポイント
- 何か例外が発生した場合でもfalseを返さないでください
Exception
。例に示すように、を使用してください。
- 剰余演算子を使用して、数値が除算可能かどうかを判別します。
- 文字列ではなく配列を返します。作業が簡単です。