C# では、次のことができます。
poules = new int[aantal, aantal, 2];
PHPでこれを行う方法が見つかりませんでした。私が見つけることができるのは、2次元配列だけです。
あなたが提示した例は、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
私は C# の人間ではないので、これは鵜呑みにしてはいけません。ただし、ドキュメントを熟読した後、new int[aantal, aantal, 2]
多次元int
配列、この場合は 3 次元配列を宣言する構文のようです。
PHP には多次元配列がありません。配列のみがあり、配列の配列を持つことができます。これは C# では「ジャグ配列」と呼ばれていると思います。PHP 配列も型指定されていないため、. に相当するものはありませんint[]
。
ただし、一度に複数のディメンションを宣言/アクセスするだけです。
$arr = array();
$arr[1][2][3] = 'foo';
PHP は、必要に応じて中間配列を作成します。配列はギザギザですが$arr[0][2][3]
、上記のコードが実行された後はありません。
事前にすべての次元を事前に割り当てる必要がある場合は、再帰的にループする必要があります。これは PHP であまり頻繁に行われることではありませんが、物事を成し遂げるためには、ジャグ配列を操作するようにプラクティスを適応させる必要があります。
これはphp配列になります:
$poules = array('aantal', 'anntal', '2');
変数の場合aantal
は、引用符なしで同じです:
$poules = array($aantal, $anntal, '2');
PHP では、変数の型を指定する必要はありません。入力の検証またはフィルタリングに使用できますが。
PHP 配列の詳細については、公式ドキュメントを参照してください:
http://uk3.php.net/manual/en/language.types.array.php
$poules = array('aantal', 'aantal', 2);
それともaanta1配列もですか?PHPでは次のことができるからです:
$myArray = array("some data", array("more data", "in a other array"), array("key1" => "even with keys"));