使用数组作为数组值

时间:2016-03-21 12:50:47

标签: php arrays foreach

我可以将数组用作数组值吗?我在HTML表中有很多行:只有第一列和其他列数据数组正在发生变化。

我尝试过以下代码,但似乎无效。

$period['areas']['AREA I'] = "Area 1";
$period['areas']['AREA II'] = "Area 2";
// and so on...

$customerCountTotal = array();
$customerCountTotal[1]['AREA I'] = 700;
$customerCountTotal[1]['AREA II'] = 500;
$customerCountActive[1]['AREA I'] = 300;
// and so on...

for ($counter = 1; $counter <= 7; $counter++) {

    $rowArray = array("Customers" => $customerCountTotal, "&ndash; active customers" => $customerCountActive /* etc. */);

    foreach ($rowArray as $key => $value) {
        echo "<tr>";
        echo "<th>" . $key . "</th>";
        echo "<td style='text-align: right;'>" . $key . "</th>";

        if(isset($period['areas'])) {
            foreach ($period['areas'] as $key2 => $value2) {
                echo "<td style='text-align: right;'>".$value[$counter][$key2]."</td>";
            }
        }

        echo "</tr>";
    }
}

可能有更好的方法来做到这一点。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

在PHP中,任何值或类型都可以存储在数组中,包括其他数组。

仅针对索引存储的值的数组只有一维,但我们所讨论的是创建一个嵌套数组,也称为多维 array - 一个数组,其他数组为值。

供参考,以下数组:

$array = array(
    array("Top left", "Top centre", "Top right"),
    array("Left", "Middle", "Right"),
    array("Bottom left", "Bottom centre", "Bottom right"),
);

与此完全相同:

$array = array();
$array []= array("Top left", "Top centre", "Top right"),
$array []= array("Left", "Middle", "Right"),
$array []= array("Bottom left", "Bottom centre", "Bottom right"),

学习更多知识的两个重要资源是:

  1. Using Multidimensional Arrays
  2. The PHP manual on arrays有很多关于多维数组的内容。

答案 1 :(得分:0)

我在这里说你将多维数组作为数组成员,这是可能的。