用 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
)
一旦您决定了如果输入是偶数,您更喜欢哪个方向有更多的值,您可以通过使用 %
来确定输入是奇数还是偶数,使代码适用于偶数和奇数值。对于更多负值:
print_r(range(-floor($i / 2), floor($i / 2) - ($i + 1) % 2));
更多正值:
print_r(range(($i + 1) % 2 - floor($i / 2), floor($i / 2)));
我需要帮助以 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
)
一旦您决定了如果输入是偶数,您更喜欢哪个方向有更多的值,您可以通过使用 %
来确定输入是奇数还是偶数,使代码适用于偶数和奇数值。对于更多负值:
print_r(range(-floor($i / 2), floor($i / 2) - ($i + 1) % 2));
更多正值:
print_r(range(($i + 1) % 2 - floor($i / 2), floor($i / 2)));