【发布时间】:2013-10-27 09:59:00
【问题描述】:
我需要创建一个带有 foreach 循环和 while 循环的多维数组。
第一个数组包含这个:
Array
(
[0] => 13-10-14
[1] => 13-10-15
[2] => 13-10-16
[3] => 13-10-17
[4] => 13-10-18
[5] => 13-10-19
)
我需要让它看起来像这样:
Array
(
[0] => Array
(
[date] => 13-10-14
[id] => Array
(
[0] => 012643
[1] => 012667
[2] => 013362
[3] => 016169
[4] => 016839
[5] => 035288
[6] => 035369
[7] => 037664
[8] => 038979
[9] => 039014
[10] => 039036
[11] => 039505
)
)
)
第一个数组我做一个 foreach 循环,第二个我需要做 while,因为它是一个 sql 查询。
代码如下:
foreach ($rs as $results) {
$rowT = $db->query("SELECT id FROM users WHERE LIMIT 10");
while ($rsT = $db->fetch_assoc($rowT)) {
$results['id'][] = $rsT;
}
$l_array[] = $results;
}## Heading ##
print_r($l_array);
正在返回错误:
Fatal error: Can not use string offset to an array
【问题讨论】:
-
您将在每次 foreach() 循环迭代时运行完全相同的查询,因此您每次都会获取/保存 SAME id 值。而是毫无意义的资源浪费。在循环外运行查询,然后在循环内使用它的结果,省去重复无意义的查询。
-
是的,但仅在此示例中。我在每个循环中使用带有动态参数的查询。谢谢。
标签: php arrays multidimensional-array foreach smarty