在不使用循环的情况下向数组添加值
Adding value to array without using loops
我想知道是否可以在不使用循环的情况下向数组添加值。
是的,我知道在技术上我可以写:
$myArray = array(0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32); //etc...
但是正如您在示例中看到的那样,如果行很长,则使用循环来做会更聪明。
既然我已经知道每个数字都会增加 +2,我想知道盒子右侧是否有内部 php 命令,所以我可以通过回调或任何其他魔术来完成它; )
语法不正确,只是为了让您理解。
$myArray = Array();
$myArray[] = insertArray($valueOf{$x};$x;$x>=100;$x=+2);
是的,我知道这也可以作为 function/class 应用,但我想问的是我是否可以做到这一点魔术 :)
谢谢!
您可以使用 range()
创建包含一系列元素的数组,它支持 skip
参数
$a = range(0,10,2);
print_r($a);
Array
(
[0] => 0
[1] => 2
[2] => 4
[3] => 6
[4] => 8
[5] => 10
)
是的,你有一个叫做 array_walk
的东西。像这样定义一个函数:
function addTwo (&$item, $key)
{
$item = $item * 2;
}
然后这样使用函数:
array_walk ($myArray, 'addTwo');
在您的用例中,您可以使用 range()
和 skip
选项,或者,您可以这样使用:
array_walk (range (0, $max));
或者,range()
:
range (0, $max, 2);
您可以使用 range()
(PHP Manual) 执行此操作。要生成您的数组,请执行以下操作:
$array = range(0, 32, 2);
最后一个变量是数组中每个条目之间的步数。它默认为 1,但通过将其设置为 2,每个数字将递增 2。
print_r($array);
生产
Array
(
[0] => 0
[1] => 2
[2] => 4
[3] => 6
[4] => 8
[5] => 10
[6] => 12
[7] => 14
[8] => 16
[9] => 18
[10] => 20
[11] => 22
[12] => 24
[13] => 26
[14] => 28
[15] => 30
[16] => 32
)
我想知道是否可以在不使用循环的情况下向数组添加值。
是的,我知道在技术上我可以写:
$myArray = array(0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32); //etc...
但是正如您在示例中看到的那样,如果行很长,则使用循环来做会更聪明。
既然我已经知道每个数字都会增加 +2,我想知道盒子右侧是否有内部 php 命令,所以我可以通过回调或任何其他魔术来完成它; )
语法不正确,只是为了让您理解。
$myArray = Array();
$myArray[] = insertArray($valueOf{$x};$x;$x>=100;$x=+2);
是的,我知道这也可以作为 function/class 应用,但我想问的是我是否可以做到这一点魔术 :)
谢谢!
您可以使用 range()
创建包含一系列元素的数组,它支持 skip
参数
$a = range(0,10,2);
print_r($a);
Array
(
[0] => 0
[1] => 2
[2] => 4
[3] => 6
[4] => 8
[5] => 10
)
是的,你有一个叫做 array_walk
的东西。像这样定义一个函数:
function addTwo (&$item, $key)
{
$item = $item * 2;
}
然后这样使用函数:
array_walk ($myArray, 'addTwo');
在您的用例中,您可以使用 range()
和 skip
选项,或者,您可以这样使用:
array_walk (range (0, $max));
或者,range()
:
range (0, $max, 2);
您可以使用 range()
(PHP Manual) 执行此操作。要生成您的数组,请执行以下操作:
$array = range(0, 32, 2);
最后一个变量是数组中每个条目之间的步数。它默认为 1,但通过将其设置为 2,每个数字将递增 2。
print_r($array);
生产
Array
(
[0] => 0
[1] => 2
[2] => 4
[3] => 6
[4] => 8
[5] => 10
[6] => 12
[7] => 14
[8] => 16
[9] => 18
[10] => 20
[11] => 22
[12] => 24
[13] => 26
[14] => 28
[15] => 30
[16] => 32
)