包含动态子数组的数组;只拍摄最后一个子拍摄

时间:2014-01-02 01:50:26

标签: php mysql arrays multidimensional-array

我一直在这墙上撞了一天半。我需要将数组提供给标签脚本。标签脚本工作正常,我已经使用静态编写的数组进行了验证。必需的数组包含从mysql查询动态提取的子数组。

var_dump告诉我mysql查询确实在拉取所有相关记录。但是,当我尝试创建包含所有这些子数组的主数组时,我遇到了问题。它只想创建一个拉出LAST子阵列的主阵列。我希望这些描述能让你走上正轨。现在有些代码:

            while($row = mysql_fetch_array($get_labels))
         {
           foreach($row as $key => $value)
                                  { 
            $addresses=array(
                array(
                    "name" => $row['title1'],
                    "address_1" => $row['Street_No'],
                    "address_2" => $row['Street'],
                    "city" => $row['City'],
                    "state" => $row['State'],
                    "zipcode" => $row['zip']
                    )
                    );
                     }
            }

以下是上述代码的示例var_dump:

    array(1) { [0]=> array(6) { ["name"]=> string(12) "PERSONS NAME" 
    ["address_1"]=>string(4) "7006" ["address_2"]=> string(12) "N HOLIDAY DR"   
    ["city"]=> string(9) "SOMECITY" ["state"]=> string(2) "ST" 
    ["zipcode"]=> string(5) "00000" } }

标签脚本处理的输出:

    PERSONS NAME
    7006 N HOLIDAY DR
    SOMECITY, ST 00000  

现在这里是真正的问题 - 如何编写上面的代码以便获取:

    array(2 or more) { [0]=> array(6) { ["name"]=> string(12) "PERSONS NAME" 
    ["address_1"]=>string(4) "7006" ["address_2"]=> string(12) "N HOLIDAY DR"   
    ["city"]=> string(9) "SOMECITY" ["state"]=> string(2) "ST" 
    ["zipcode"]=> string(5) "00000" }{ [1]=> array(6) { ["name"]=> string(12) 
    "ANOTHER DUDE" ["address_1"]=>string(4) "7125" ["address_2"]=> string(12) 
    "N HOLIDAY DR" ["city"]=> string(9) "SOMECITY" ["state"]=> string(2) "ST" 
    ["zipcode"]=> string(5) "00000" } ...and so on, as long as the query runs }

这将在标签脚本上输出,如下所示:

    PERSONS NAME                    ANOTHER DUDE
    7006 N HOLIDAY DR               7125 N HOLIDAY DR
    SOMECITY, ST 00000              SOMECITY, ST 00000

标签脚本没问题,上面的脚本提供了我需要帮助调试的标签脚本。

我当然希望有人可以帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

不是每次都覆盖$addresses,而是需要附加到它:

$addresses[] = array(
    "name" => $row['title1'],
    "address_1" => $row['Street_No'],
    "address_2" => $row['Street'],
    "city" => $row['City'],
    "state" => $row['State'],
    "zipcode" => $row['zip']
);

此外,您不需要内部foreach

$addresses = [];
while ($row = mysql_fetch_array($get_labels)) {
    $addresses[] = ...
}
相关问题