function add($base, $baseArr, $data, $min, $max)
{
foreach ($baseArr as $k => $v) {
$sum = $base + $v;
$data[] = $k;
if ($sum > $min && $sum < $max) {
sort($data);
$str = implode(',', $data);
if (!in_array($str, self::$arr)) {
self::$arr[] = $str;
}
break;
} elseif ($sum > 200) {
break;
} else {
$base = $sum;
add($base, $baseArr, $data, $min, $max);
}
}
}
$base = 0;
$baseArr = [1,2,55,32.23];
$data = [];
$min = 300;
$max = 310
$res = add($base, $baseArr, $data, $min, $max);
var_dump($res);