在PHP中初始化2维数组

时间:2017-10-22 08:23:54

标签: php arrays

我想在PHP中初始化一个2维数组,我不知道如何在php中声明一个大小为(1,N)的二维数组,所有值都为零?

int i, id;
unsigned int v;
unsigned char hash[20];
char buf[41];
while(fscanf(file, "%d %s\n", &id, buf) == 2)
{
    for(i = 0; i < 20; i++)
    {
        if(sscanf(buf + i * 2, "%2x", &v) != 1) break;
        hash[i] = (unsigned char)v;
    }
}

我不确定这是否是正确的语法。

2 个答案:

答案 0 :(得分:0)

PHP 没有2d数组,但它有数组数组。你可以使用下面的代码进行初始化。

$Orders_C=array_fill(0,1, array_fill(0, N,0));

此处array_fill首先将一个填充 0 的数组从索引 0 返回到 N 。再次相同的数组是填充到新数组到索引1.Hence你将在数组中得到一个数组。

答案 1 :(得分:0)

任何列数和行数的通用解决方案可以是:

$maxRows = 5;
$maxCols = 5;
$orders = [];
for ($col = 0; $col < $maxCols; $col++) {
    for ($row = 0; $row < $maxRows; $row++) {
        $orders[$col] = $row;
    }
}

因为你想要像(1,N)这样的二维数组,那么你可以简化它

$orders = [];
for ($i = 0; $i < $maxRows; $i++) {
    $orders[0][] = 0;
}