将数字除以相等的部分并存储它们的累积总和

The*_*hew 1 php math

简单的问题,如何在划分数字时获得每个选项?例如:

  • 24 by 6 回报 6, 12, 18, 24
  • 24 by 4 回报 4, 8, 12, 16, 20, 24
  • 24 by 5 回报 false

我的数据库中有一个数字,例如2,和我的计数器,例如14.这意味着每次我的计数器击中第二个数字时,我想要解雇我的事件.所以我想,如果我有解决方案2,4,6等,并且我的计数器等于其中一个解决方案,我可以解雇我的事件.

Mad*_*iha 7

制作起来相当微不足道.

<?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();
}
Run Code Online (Sandbox Code Playgroud)

一些要点

  • 如果发生异常,请不要返回false,请使用Exception示例中所示的an .
  • 使用模数运算符确定数字是否可以整除.
  • 返回一个数组,而不是一个字符串.它更容易使用.