私は配列が動的に作成されていることを知っています。事前に作成する必要はありませんが、2D配列ではどうしたらいいですか?同じ方法?PHPで空の2D配列を作成しますか?
(for$j)
{
for($i)
{
$array[j][i] = "data";
}
}
これは何か?明らかに実際のループのために。
私は配列が動的に作成されていることを知っています。事前に作成する必要はありませんが、2D配列ではどうしたらいいですか?同じ方法?PHPで空の2D配列を作成しますか?
(for$j)
{
for($i)
{
$array[j][i] = "data";
}
}
これは何か?明らかに実際のループのために。
、2D次元の配列は、以下のように作成することができます。
<?php
$emptyArray = array(array());
?>
やPHP 5.4のようあなたも使用することができます。
<?php
$emptyArray = [[]];
?>
PHP documentationは、この種の基本的な質問から始めるのに適しています。
その絶対最も単純で<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["somearray"][6]; // 5
echo $arr["somearray"][13]; // 9
echo $arr["somearray"]["a"]; // 42
?>
多次元配列のドキュメントを見ましたが、空のものを作成する例はありません。 – Joshua
はあなたに何を指定することができますやろうとしている? あなたは、あなたはPHPではなく、伝統的な意味での2D配列をforeachの機能
$ary=array("subarr" => array("foo","bar"));
foreach($ary as $a){
foreach($a as $ary_sub){
echo $ary_sub;
}
}
または
foreach($ary["subarr"] as $key=>$subval){
echo $subval;
}
で多次元配列をループ作成しないでくださいすることができます。
単に次の配列の作成、実際には約$a = array(array());
上記の提案:
$a = array(
0 => array()
);
したがって、$a[0][0] = 'test';
は以下になりますが:
$a = array(
0 => array(
0 => 'test'
)
);
一見、それが動作するように見えます実際にはまだ2次元配列ではありません。 2番目の行(インデックス1)を使用しようとすると、この時点でPHPは通知を出します。例:$a[1]
は(?array(array())
は単にインデックス0の配列を作成することを覚えて)何も含まれていないため
$a[1][0] = 'test2';
これがあります。
これを機能させるには、もう一度$a[1] = array();
を実行する必要があります。また、インデックスを避けるには、$a[] = array();
を実行する必要があります。
例
$a = array(); // array of columns
for($c=0; $c<5; $c++){
$a[$c] = array(); // array of cells for column $c
for($r=0; $r<3; $r++){
$a[$c][$r] = rand();
}
}
上記のコードは、乱数の5×3 "2Dアレイ" を作成します。
テキストファイルの行を処理するための空の配列を作成する場合は、$ array = array();を使用します。
// dynamic 2D array
$twoD = array(array());
$val = 0;
// fill the array
for($r = 0; $r < 4; $r++) {
for($c = 0; $c < 4; $c++)
$twoD[$r][$c] = $val++;
}
// print the current value of $val
echo $val."<br/>------------------<br/>";
// print the array
for($r = 0; $r < 4; $r++) {
for($c = 0; $c < 4; $c++)
echo $twoD[$r][$c];
echo "<br/>";
}
"array(array())"を使用すると、最初の位置に "空"要素を持つ2次元配列が作成されます。本当に空の2D配列を作成するには、これを削除する必要があります。
<?php
$emptyArray = array(array()); // Creates a 2D array with one empty element in $emptyArray[0]
array_pop($emptyArray); // Pops element[0] off the array
?>
共有していただきありがとうございます。私は[0]で空白の要素をどのように作成したのか理解しようと夢中になっていると思った。 – radleybobins
空の2次元配列... '$配列=配列(アレー());' – JamesHalsall
あなたは空の文字列のn * mは、配列を埋めるためによろしいならこうすることで、正しいと思われます回。 –
私はdownvotesとの契約が何であるか分かりません。私は見て答えを見つけることができなかったので、私はそれに尋ねた。 PHPを使う方法を学ぼうとしてくれたことを謝ってください。 – Joshua