Php 数据库结果的数组结构
这可能是一个非常简单的问题,但以下哪种方法是构造返回db结果的数组的最佳实践?说一个博客帖子列表。。。对帖子进行分类和分组?还是对元素进行排序和分组Php 数据库结果的数组结构,php,sql,Php,Sql,这可能是一个非常简单的问题,但以下哪种方法是构造返回db结果的数组的最佳实践?说一个博客帖子列表。。。对帖子进行分类和分组?还是对元素进行排序和分组 Array ( [title] => Array ( [0] => Untitled [1] => Untitled ) [id] => Array ( [0] => 8
Array
(
[title] => Array
(
[0] => Untitled
[1] => Untitled
)
[id] => Array
(
[0] => 8
[1] => 11
)
)
或
第一种方法似乎是最简单的,也是我一直在用的方法。我可以简单地:
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的数据逻辑地分组到一个结构中
- 它不需要处理数据,只需要初始填充$post数组
- 您可以使用单个索引/索引范围轻松处理任意数量的博客文章
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$posts[] = $row;
}
// total number of posts
$nrPosts = count($post);
这将以数字形式自动索引数组,您不需要将$row中的任何内容复制到$post中,它只需复制整行
第二种结构更好:
- 它将post的数据逻辑地分组到一个结构中
- 它不需要处理数据,只需要初始填充$post数组
- 您可以使用单个索引/索引范围轻松处理任意数量的博客文章
- 在输出数据结构时,使其看起来不正确是没有用的。第二个数据集的可用性也更高,这就是为什么它被用于像Wordpress这样的大型项目中。如果输出的数据结构看起来不正确,那就没有用了。第二个数据集的可用性也更高,这就是为什么它被用于像Wordpress这样的大型项目。感谢您的澄清。我希望大多数的书都能涵盖这些小东西。谢谢你把这些整理好。我希望大多数书都能涵盖这些小东西。