用 PHP 生成相等的数字减去加

Generate equal set of number minus to plus with PHP

我需要帮助以 PHP 创建下面的一组数字。

示例:

$i = 7 

结果:

-3,-2,-1,0,1,2,3

另一个例子:

$i = 3

结果:

-1,0,1

谢谢

您可以使用 range,minimum/maximum 值为 +/-floor($i/2),例如

$i = 7;
print_r(range(-floor($i / 2), floor($i / 2)));

输出:

Array
(
    [0] => -3
    [1] => -2
    [2] => -1
    [3] => 0
    [4] => 1
    [5] => 2
    [6] => 3
)

如果你想让它与偶数一起工作,你必须决定你是想让范围有更多的负值还是正值,并相应地调整min/max:

$i = 4;
print_r(range(-floor($i / 2), floor($i / 2) - 1));
$i = 4;
print_r(range(1 - floor($i / 2), floor($i / 2)));

输出:

Array
(
    [0] => -2
    [1] => -1
    [2] => 0
    [3] => 1
)
Array
(
    [0] => -1
    [1] => 0
    [2] => 1
    [3] => 2
)

Demo on 3v4l.org

一旦您决定了如果输入是偶数,您更喜欢哪个方向有更多的值,您可以通过使用 % 来确定输入是奇数还是偶数,使代码适用于偶数和奇数值。对于更多负值:

print_r(range(-floor($i / 2), floor($i / 2) - ($i + 1) % 2));

更多正值:

print_r(range(($i + 1) % 2 - floor($i / 2), floor($i / 2)));

Demo on 3v4l.org