Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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_Numbers_Days - Fatal编程技术网

使用PHP生成相等的一组从负到正的数字

使用PHP生成相等的一组从负到正的数字,php,numbers,days,Php,Numbers,Days,我需要帮助用PHP创建下面的一组数字 例如: $i = 7 结果: -3,-2,-1,0,1,2,3 -1,0,1 另一个例子: $i = 3 结果: -3,-2,-1,0,1,2,3 -1,0,1 谢谢您可以使用,最小/最大值为+/-floor($i/2)例如 $i = 7; print_r(range(-floor($i / 2), floor($i / 2))); 输出: Array ( [0] => -3 [1] => -2 [2] =

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

例如:

$i = 7 
结果:

-3,-2,-1,0,1,2,3
-1,0,1
另一个例子:

$i = 3
结果:

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

您可以使用,最小/最大值为
+/-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
)
Array
(
    [0] => -2
    [1] => -1
    [2] => 0
    [3] => 1
)
Array
(
    [0] => -1
    [1] => 0
    [2] => 1
    [3] => 2
)
如果要使其适用于偶数,则必须确定该范围是要有更多的负值还是正值,并相应地调整最小值/最大值:

$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] => -3
    [1] => -2
    [2] => -1
    [3] => 0
    [4] => 1
    [5] => 2
    [6] => 3
)
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)));
有关更多正值:

print_r(range(-floor($i / 2), floor($i / 2) - ($i + 1) % 2));
print_r(range(($i + 1) % 2 - floor($i / 2), floor($i / 2)));
您可以使用,最小/最大值为
+/-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
)
Array
(
    [0] => -2
    [1] => -1
    [2] => 0
    [3] => 1
)
Array
(
    [0] => -1
    [1] => 0
    [2] => 1
    [3] => 2
)
如果要使其适用于偶数,则必须确定该范围是要有更多的负值还是正值,并相应地调整最小值/最大值:

$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] => -3
    [1] => -2
    [2] => -1
    [3] => 0
    [4] => 1
    [5] => 2
    [6] => 3
)
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)));
有关更多正值:

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

对于偶数来说,范围将太大,对吗?也许只需将
$i
添加到最小值?哦,等等,这是一样的。我猜应该是min+$I-1@Don“你完全正确。我为偶数提供了几个选项。对于偶数,范围会太大,对吗?也许只需将
$i
添加到最小值?哦,等等,这是一样的。我猜应该是min+$I-1@Don“你完全正确。我给了偶数的几个选项。还有一个想法——如果你只是为了迭代而创建这个集合,你其实并不需要它。你只需要起点和尺寸。所以你可以这样做:
for($x=-floor($i/2),$end=$x+$i;$x<$end;$x++){…
还有一个想法——如果你只是为了迭代而创建这个集合,你并不真的需要它。你只需要起点和大小。所以你可以这样做:
for($x=-floor($i/2),$end=$x+$i;$x<$end;$x++){…