php - 包含动态子数组的数组;只捕获最后一个子数组

标签 php mysql arrays multidimensional-array

我已经把头撞在墙上一天半了。我需要将数组输入到标签脚本中。标签脚本工作正常,我已经使用静态写入的数组验证了这一点。所需的数组包含从 mysql 查询动态提取的子数组。

var_dump 向我显示 mysql 查询确实正在提取所有相关记录。然而,当我尝试创建包含所有这些子数组的主数组时,我遇到了问题。它只想创建一个主数组并拉出最后一个子数组。我希望这个描述能让您走上正轨。现在一些代码:

            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

标签脚本很好,上面的脚本提供了我需要帮助调试的标签脚本。

我当然希望有人能帮助我。预先感谢您。

最佳答案

您不需要每次都覆盖 $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[] = ...
}

关于php - 包含动态子数组的数组;只捕获最后一个子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20875239/

相关文章:

php - 如何找到图像中的主色?

java - 处理索引 0 超出长度 0 的范围以验证用户方法

mysql - 从sql文件加载存储过程

使用 Laravel 通过 SSL 连接 MySQL

c++ - 函数参数中 int * array 和 int array[] 的区别

javascript - 将表单数据从php传递到ajax

PHPMailer - 此流不支持 SSL/加密

php - 无法打开流 : HTTP wrapper does not support writeable connections while upload on amazon EC2

python - 按列打乱多维数组并相应更新索引列表

java - 使用单一条件选择数据的有效方法