在PHP中创建一个空的2D数组?
2022-08-30 13:34:24
我知道数组是动态创建的,提前创建它们并不是必需的,但是如何使用2D数组来做到这一点呢?同样的方式?
(for$j)
{
for($i)
{
$array[j][i] = "data";
}
}
类似的东西?当然,对于循环来说,这显然是真实的。
我知道数组是动态创建的,提前创建它们并不是必需的,但是如何使用2D数组来做到这一点呢?同样的方式?
(for$j)
{
for($i)
{
$array[j][i] = "data";
}
}
类似的东西?当然,对于循环来说,这显然是真实的。
在最简单的情况下,可以将2D维数组创建为:
<?php
$emptyArray = array(array());
?>
或者从 PHP 5.4 开始,您还可以使用:
<?php
$emptyArray = [[]];
?>
你不会在PHP中创建2d数组,而不是传统意义上的2d数组。
上面的建议实际上是简单地创建以下数组:$a = array(array());
$a = array(
0 => array( )
);
因此,将导致以下结果:$a[0][0] = 'test';
$a = array(
0 => array(
0 => 'test'
)
);
乍一看,它看起来很有效,但实际上,这仍然不是2d数组。当您尝试使用第 2 行(索引 1)时,此时 PHP 会抛出通知。例如:
$a[1][0] = 'test2';
这是因为不包含任何内容(请记住,只需在索引 0 处创建一个数组?)。$a[1]
array(array())
要使它起作用,您需要再次执行 ,或者如果要避免索引,则可以执行。$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();
}
}
上面的代码创建一个5x3的随机数“2d数组”。