2

我有一个元素数量未知的二维数组。

$two_darray[row][column]; //there will be an unknown integer values instead of row and column keywords

如果我要编写for如下循环,我如何确定我的$two_darray. 你能告诉我php中是否有一个库函数可以告诉我[????] [????]里面的值

for($row=0; $row<………; $row++)
{
    for($column =0; $column  <………; $ column ++)
    {
        echo $two_darray[$row][$column];
    }
    echo “\n end of one column \n”;
}

我真的需要知道行和列的值才能执行其他计算。

4

6 回答 6

7
foreach ($two_darray as $key => $row) {
   foreach ($row as $key2 => $val) {
      ...
   }
}

无需担心每个数组中有多少元素,因为foreach()它会为您处理。如果你绝对拒绝使用 foreach,那么只要count()每个数组出现。

$rows = count($two_d_array);
for ($row = 0; $row < $rows; $row++) {
     $cols = count($two_darray[$row]);
     for($col = 0; $col < $cols; $col++ ) {
        ...
     }
}
于 2013-07-21T21:54:28.380 回答
3

这就是我所做的:我的超级英雄阵列:

$superArray[0][0] = "DeadPool";
$superArray[1][0] = "Spiderman";
$superArray[1][1] = "Ironman";
$superArray[1][2] = "Wolverine";
$superArray[1][3] = "Batman";

获取尺寸:

echo count( $superArray ); // Print out Number of rows = 2
echo count( $superArray[0] ); // Print Number of columns in $superArray[0] = 1
echo count( $superArray[1] ); // Print Number of columns in $superArray[1] = 4

于 2016-02-17T08:21:43.743 回答
2

对于 php 多维数组,使用

$rowSize = count( $arrayName );
$columnSize = max( array_map('count', $arrayName) );
于 2016-01-08T01:31:12.640 回答
1

如果您需要知道一个实际数字,那么您可以使用sizeof()orcount()函数来确定每个数组元素的大小。

$rows = count($two_darray) // This will get you the number of rows

foreach ($two_darray as $row => $column)
{
    $cols = count($row);
}
于 2013-07-21T21:53:30.563 回答
0

普通、非混合二维阵列的快捷方式,

$行=计数($数组);$colomns=(count($array,1)-count($array))/count($array);

于 2017-11-17T15:05:12.793 回答
0

对于 php索引的二维数组:

$arName = array(
  array(10,11,12,13),
  array(20,21,22,23),
  array(30,31,32,33)
);

$col_size=count($arName[$index=0]);

for($row=0; $row<count($arName); $row++)
{
  for($col=0; $col<$col_size; $col++)
  {
    echo $arName[$row][$col]. " ";
  }
  echo "<br>";
}

输出:

10 11 12 13
20 21 22 23
30 31 32 33
于 2020-05-30T07:39:09.000 回答