在C#中你可以这样做:
poules = new int[aantal, aantal, 2];
我在PHP中找不到这样做的方法。我能找到的只是一个二维数组。
答案 0 :(得分:3)
您提供的示例是创建一个3D数组,并通过一个方法获取它(由于使用了一种方法,因此速度稍慢)。 PHP使用锯齿状数组。
使用array
函数创建PHP中的数组。
为了匹配你的例子:(对于固定的数组长度)
$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
答案 1 :(得分:1)
我不是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中并不常见,但是你应该调整你的实践来使用锯齿状数组来完成任务。
答案 2 :(得分:0)
这将是一个php数组:
$poules = array('aantal', 'anntal', '2');
如果aantal
是一个变量,只有相同的没有引号:
$poules = array($aantal, $anntal, '2');
在PHP中,您不需要指定变量类型。虽然您可以使用它来验证或过滤输入。
您可以在官方文档中阅读有关PHP数组的更多信息:
http://uk3.php.net/manual/en/language.types.array.php
答案 3 :(得分:0)
$poules = array('aantal', 'aantal', 2);
或者也是aanta1阵列?因为在php中你可以这样做:
$myArray = array("some data", array("more data", "in a other array"), array("key1" => "even with keys"));