Php 包含动态子数组的数组;仅捕获最后一个子载波
我已经在这堵墙上敲了一天半了。我需要将数组输入到标记脚本中。标记脚本运行良好,我已经使用静态编写的数组验证了这一点。所需的数组包含从mysql查询中动态提取的子数组 var_转储告诉我mysql查询确实在提取所有相关记录。但是,我在尝试创建包含所有这些子数组的主数组时遇到了问题。它只想用最后一个子数组创建一个主数组。我希望这个描述能让你走上正轨。现在了解一些代码:Php 包含动态子数组的数组;仅捕获最后一个子载波,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我已经在这堵墙上敲了一天半了。我需要将数组输入到标记脚本中。标记脚本运行良好,我已经使用静态编写的数组验证了这一点。所需的数组包含从mysql查询中动态提取的子数组 var_转储告诉我mysql查询确实在提取所有相关记录。但是,我在尝试创建包含所有这些子数组的主数组时遇到了问题。它只想用最后一个子数组创建一个主数组。我希望这个描述能让你走上正轨。现在了解一些代码: while($row = mysql_fetch_array($get_labels))
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_转储:
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']
);
此外,您不需要为每个人设置内部的:
$addresses = [];
while ($row = mysql_fetch_array($get_labels)) {
$addresses[] = ...
}
希望你能看看我确实看过这个,谢谢。当我第一次在下面使用Jack的建议时,我让每个数组迭代12次。真是一团糟!然后我完全删除了foreach语句,只使用了while循环,它工作得非常好。再次感谢!对我来说,这是一个世界级的无聊时刻!非常感谢你,杰克。一旦我使用它并删除了foreach循环,我就得到了完美的结果。好极了@不客气;顺便说一句,这还不够,但是不要再使用老的mysql\uquot/code>函数了:)杰克,你当然是对的,但我不是一个全职的php程序员。我是一家初创公司的运营副总裁。我负担不起让程序员为我工作,所以我只能靠自己应付这些事情。当我有一点时间来研究它时,我会让自己更加熟悉php和更新的编码实践。再次感谢。