在C#中,您可以执行以下操作:
poules = new int[aantal, aantal, 2];我在PHP中找不到这样做的方法。我能找到的只是一个二维数组。
发布于 2012-12-14 01:07:45
您给出的示例是创建一个3D数组,并通过一个方法获取它(因为使用的是方法,所以速度会稍慢一些)。PHP使用交错数组。
PHP中的数组是使用array函数创建的。匹配您的示例:(用于固定数组长度)
$myArr = new SplFixedArray($aantal);
for ($i = 0; $i < $aantal; $i++) {
$myArr[$i] = new SplFixedArray($aantal);
for ($j = 0; $j < $aantal; $j++) {
$myArr[$i][$j] = new SplFixedArray(2);
}
}SplFixedArray用于定义具有固定大小的数组。
正如评论中所说的,你很少看到像上面这样的PHP代码。
您可以像这样访问数组单元:
$val = $myArr[$x][$y][$z];这里有一个参考:SplFixedArray
发布于 2012-12-14 01:07:56
我不是C#的人,所以对此持保留态度。但是,在仔细研究the documentation之后,new int[aantal, aantal, 2]似乎是声明多维int数组的语法,在本例中是一个三维数组。
PHP没有多维数组。它只有数组,你可以有数组的数组。我猜这在C#中被称为“锯齿数组”。PHP数组也不是类型化的,没有int[]的等价物。
不过,您只需一次声明/访问多个维度:
$arr = array();
$arr[1][2][3] = 'foo';PHP将根据需要创建中间数组。虽然数组是锯齿状的,但在执行上述代码后没有$arr[0][2][3]。
如果你需要预先分配所有维度,你将不得不递归循环。不过,这在PHP中并不是经常做的事情,您应该调整您的实践以使用锯齿数组来完成任务。
发布于 2012-12-14 01:02:56
这将是一个php数组:
$poules = array('aantal', 'anntal', '2');如果aantal是一个变量,同样的,不带引号:
$poules = array($aantal, $anntal, '2');在PHP中,您不需要指定变量类型。尽管您可以使用它来验证或过滤输入。
您可以在官方文档中阅读有关PHP数组的更多信息:
http://uk3.php.net/manual/en/language.types.array.php
https://stackoverflow.com/questions/13864772
复制相似问题