我使用嵌套的while循环创建一个如下所示的嵌套数组:
[276] => Array
(
[0] => 302
)
[279] => Array
(
[0] => 290
[1] => 291
[1] => 223
但由于某种原因,我只得到一个出现在279以下的嵌套数组,但我知道 我正在查询的数据至少返回了应该在279数组下的12条记录。
这是我的while循环代码:
while ($row = mysql_fetch_assoc($result)) {
$term_id = $row[term_id];
// Look up Children Categories
$sql2 = "SELECT * FROM wp_term_taxonomy wpt where parent = $row[term_id]";
// execute query:
$result2 = mysql_query($sql2) or die('A error occured: ' . mysql_error());
// fetch results:
$count_2 = "0";
while ($row2 = mysql_fetch_assoc($result2)) {
$term_id2 = $row2['term_id'];
$arr[$term_id] = array($count_2 => $row2[term_id]);
$count_2++;
}
}
有人能告诉我我做错了什么吗?它就像嵌套数组每次重置一样,所以我只在嵌套数组下得到一条记录。
答案 0 :(得分:1)
您的代码:
$arr[$term_id] = array($count_2 => $row2[term_id]);
这会为$arr[$term_id]
分配一个新数组。如果您已经在循环的上一次迭代中放置了项目,它会覆盖它,或者在您放置它时“重置它”,它不会附加到现有数组。你告诉它这样做。
$arr[$term_id][$count_2] = $row2[term_id];