Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将整数转换为平衡和数组?_Php - Fatal编程技术网

Php 如何将整数转换为平衡和数组?

Php 如何将整数转换为平衡和数组?,php,Php,我们有一个整数,假设28,现在我们需要一个平衡和数组,比如$array=(10,10,8),当我们想要最大可能数10,如果最大可能数是5,数组应该是(5,5,5,5,3)。帮帮我。有趣。试试看 $var = 28; $max_lmt = 10; $i = 1; while($i) { $tmp = $var; $var = $var - $max_lmt; if($var > 0) $arr[] = $max_lmt; else { $arr[] =

我们有一个整数,假设28,现在我们需要一个平衡和数组,比如$array=(10,10,8),当我们想要最大可能数10,如果最大可能数是5,数组应该是(5,5,5,5,3)。帮帮我。

有趣。试试看

$var = 28;
$max_lmt = 10;
$i = 1;
while($i) {
  $tmp = $var;
  $var = $var - $max_lmt;
  if($var > 0)
      $arr[] = $max_lmt;
  else {
      $arr[] = $tmp;
      $i = 0;
   }
}
print_r($arr);
请参见此函数getBalancedSum($number,$max) { $array=array(); 如果($number!=0 &&$max!=0 &&($number>0&&$max>0)| |($number<0&&$max<0))) { 如果($number/$max>1) $array=数组填充(0,$number/$max,$max); 如果($number%$max) $array[]=$number%$max; } 返回$array; } echo(json_编码(getBalancedSum(28,10));//[10,10,8] echo(json_编码(getBalancedSum(28,7));//[7,7,7,7] echo(json_encode(getBalancedSum(28,30));//[28] echo(json_encode(getBalancedSum(0,10));//[] echo(json_编码(getBalancedSum(10,0));//[] echo(json_编码(getBalancedSum(28,-10));//[] echo(json_编码(getBalancedSum(-28,-10));//[-10,-10,-8] Json仅用于输出。

请先尝试一些东西(包括谷歌),然后寻求帮助。
function getBalancedSum($number, $max)
    {
    $array = array();
    if ($number != 0 
        && $max != 0
        && (($number > 0 && $max > 0)||($number < 0 && $max < 0)))
        {
        if ($number / $max > 1)
            $array = array_fill(0, $number / $max, $max);
        if ($number % $max)
            $array[] = $number % $max;
        }
    return $array;
    }

echo(json_encode(getBalancedSum(28, 10)));   // [10,10,8]
echo(json_encode(getBalancedSum(28, 7)));    // [7,7,7,7]
echo(json_encode(getBalancedSum(28, 30)));   // [28]
echo(json_encode(getBalancedSum(0, 10)));    // []
echo(json_encode(getBalancedSum(10, 0)));    // []
echo(json_encode(getBalancedSum(28, -10)));  // []
echo(json_encode(getBalancedSum(-28, -10))); // [-10,-10,-8]