可能重复:
How to create an empty array in PHP with predefined size?
在基于C语言中,您可以非常快速地创建一个大型多维数组,您可以将其与循环一起用于算法或其他内容。像这样:
int foo[50][40];
在PHP中,你怎么能这样做?目前,我能想到的唯一方法是:
$bar = array();
for ($a = 0; $a<50; $a++) {
for ($b = 0; $b++; $b<40) {
$bar[$a][$b] = 0;
}
}
答案 0 :(得分:3)
在PHP中,您不必预定义数组的大小,您可以使用数据动态地附加数据,如下所示:
$bar = array();
for($i = 0;$i < 50;$i++) {
$bar[] = $i;
}
通过使用[]调用$ bar,您将指示应创建一个新密钥,在这种情况下保持值$ i。
答案 1 :(得分:2)
使用SplFixedArray会加快速度(并且还会占用更少的内存)。
答案 2 :(得分:0)
在基于PHP的语言中,您不需要“保留”创建数组 但只要您需要,就可以随时添加您需要的任何数量的元素。
顺便说一句,如果速度意味着不是简洁的代码而是执行的速度,那么PHP肯定是一个错误的选择。答案 3 :(得分:0)
尝试以下方法:
$bar = range(0, 50);
foreach ($bar as $k => $v) {
$bar[$k] = range(0, 40);
};
答案 4 :(得分:0)
也许这个可以帮助:
$b = array_fill(0,50,0);
$a = array_fill(0,50,$b);
//and so on, depending on how many dimensions do you need