php如何在声明动态数组时使用数组元素(我不知道如何更好地说出来)

时间:2013-10-01 16:37:43

标签: php multidimensional-array

我已将SQL数据加载到一堆数组中。我想用这些数组创建一个大的多维数组。

for ($h=0; $h<=count($siteName); $h++){

    for ($x=0; $x<=count($pluginNames); $x++)
    {
        for ($y=0; $y<=count($wpvData); $y++)
        {
            $plugData = array($siteName[$h]=>array($pluginNames=>array($pluginNames[$x],$vData[$y],$wpvData[$y],$row[$y])));
        } 
    } 
}

我得到的错误是:

Notice: Undefined offset: 0 in /Applications/MAMP/htdocs/BJANSDJNAS.php on line 124

Warning: Illegal offset type in /Applications/MAMP/htdocs/BJANSDJNAS.php on line 124

第124行= $ plugData数组行。

这甚至可能吗?

有没有比这更好的方法呢?

我的目标是在多维数组中存储一组与网站相关的数据,这样我就可以在html div中显示它。基本上我有一个wordpress网站,我想通过html管理带有漂亮GUI的插件。

1 个答案:

答案 0 :(得分:1)

你想要的可能是这样的:

$plugData = array();
foreach ($siteName as $site) {
    $plugData[$site] = array();
    foreach ($pluginNames as $plugin)
        $plugData[$site][$plugin] = array();
        foreach ($wpvData as $y => $wpv) {
            $plugData[$site][$plugin][] = array(
                'plugin' => $plugin,
                'vdata' => $vdata[$y],
                'wpv' => $wpv,
                'row' => $row[$y]);
        }
    }
}

请注意,向数组添加元素的语法是$arrayname[] =; $arrayname =只是替换整个数组,这不是你通常想要的循环。