我已经把头撞在墙上一天半了。我需要将数组输入到标签脚本中。标签脚本工作正常,我已经使用静态写入的数组验证了这一点。所需的数组包含从 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/