这可能是一个非常微不足道的问题,但是以下哪种方法是构造返回数据库结果的数组的最佳实践?比如说博客文章列表...对文章进行排序和分组?或者对元素进行排序和分组?
Array
(
[title] => Array
(
[0] => Untitled
[1] => Untitled
)
[id] => Array
(
[0] => 8
[1] => 11
)
)
or
Array
(
[0] => Array
(
['id']=> 8
['title'] => Untitled
)
[1] => Array
(
['id']=> 11
['title'] => Untitled
)
)
第一种方法似乎是最简单的,也是我一直在做的方法。我可以简单地:
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$post['title'][] = $row['title'];
$post['id'][] = $row['id'];
}
进而
$count = count($post['id']);
但第二种方式似乎更有意义,并且更符合逻辑地构建信息。只是模板中的设置、过滤和使用稍微复杂一些。
$c = 0;
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$post[$c]['title'] = $row['title'];
$post[$c]['id'] = $row['id'];
$c++;
}
第二个更好并且更容易设置:
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$posts[] = $row;
}
// total number of posts
$nrPosts = count($post);
这将以数字方式自动索引数组,并且您不需要将任何内容从 $row 复制到 $post 中,它只会复制整行。
第二种结构更好:
- 它将帖子的数据逻辑分组为结构
- 它不需要处理数据,除了 $post-array 的初始填充之外
- 您可以使用单个索引/索引范围轻松处理任意数量的博客文章
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)