/ / PHPで二次元配列を最も簡単に宣言するには? - php、配列

PHPで最も簡単に2次元配列を宣言するには? - PHP、配列

次のように:

declare int d[0..m, 0..n]

回答:

回答№1の場合は67

配列のインデックスを指定することで、連想配列、または配列のような「ハッシュテーブル」を作成することもできます。

$array = array(
0 => array(
"name" => "John Doe",
"email" => "john@example.com"
),
1 => array(
"name" => "Jane Doe",
"email" => "jane@example.com"
),
);

どちらと同じです

$array = array();

$array[0] = array();
$array[0]["name"] = "John Doe";
$array[0]["email"] = "john@example.com";

$array[1] = array();
$array[1]["name"] = "Jane Doe";
$array[1]["email"] = "jane@example.com";

回答№2の59

以下は等価で、2次元配列になります。

$array = array(
array(0, 1, 2),
array(3, 4, 5),
);

または

$array = array();

$array[] = array(0, 1, 2);
$array[] = array(3, 4, 5);

回答№3の28

宣言するだけ?あなたはする必要はありません。ただ変数が存在することを確認してください。

$d = array();

配列は動的にサイズ変更され、存在しない要素に何かを書き込もうとするとそれが作成されます(必要に応じて配列全体が作成されます)。

$d[1][2] = 3;

これは事前に宣言されていない任意の次元数に対して有効です。


回答№4 23

まず、PHPには多次元配列がありません。配列の配列があります。

次に、それを実行する関数を書くことができます。

function declare($m, $n, $value = 0) {
return array_fill(0, $m, array_fill(0, $n, $value));
}

回答№5の9

単純な場合は、「必要に応じて入力する」という解決策があります。

$foo = array(array());

これにより、$ foo []を保持できる柔軟な疑似二次元配列が得られます。n] [n]どこ n <=∞(もちろんあなたのメモリサイズの通常の制約によって制限されますが、あなたは私が望むアイデアを得ます)。理論的には、これを拡張して必要なだけのサブ配列を作成することができます。


答え№6のための8

あるいは、より大きな配列の場合、すべて同じ値になります。

$m_by_n_array = array_fill(0, $n, array_fill(0, $m, $value);

を作成します $m 〜によって $n すべてをに設定した配列 $value.


答え№7の2

私が知っている限りでは、phpに組み込まれたものはありません。これを実行するための関数は、@Amberの回答に含まれているarray_fillのようなものを再帰的に呼び出すループまたはカスタムメソッドを介して実行する必要があります。

空だが初期化された配列の配列を作成したという意味だと思う。 3つの配列の配列

   $final_array = array(array(), array(), array());

これは単純にコードを書くのは簡単ですが、任意のサイズの配列では 3つの配列3つの配列 使用前に初期化が複雑になり始めています。

     $final_array = array(array(array(), array(), array()), array(array(), array(), array()), array(array(), array(), array()));

...等...

欲求不満があります。エラーをチェックしたりスローしたりせずに、使用する深さを問わずに初期化された配列の配列を宣言する簡単な方法があると便利です。


答え№8の2

そして私にとっては、配列を疎にするかどうかについての議論は文脈に依存します。

たとえば、$ a [6] [9]に値が設定されていない場合は、$ a [6] [9]に値が ""または0などで設定されていることと同じです。


答え№9の2
$r = array("arr1","arr2");

単一の配列要素をエコーするには、次のように書きます。

echo $r[0];
echo $r[1];

出力は以下のようになります。 arr1 arr2