首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库结果数组结构

数据库结果数组结构
EN

Stack Overflow用户
提问于 2009-07-25 22:59:37
回答 2查看 290关注 0票数 0

这可能是一个相当微不足道的问题,但是这些方法中的哪一个是构造返回数据库结果的数组的最佳实践?比方说一系列博客文章。对帖子进行排序和分组?或者对元素进行排序和分组?

代码语言:javascript
复制
Array
(
    [title] => Array
        (
            [0] => Untitled
            [1] => Untitled
        )

    [id] => Array
        (
            [0] => 8
            [1] => 11
        )

)

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            ['id']=> 8
            ['title'] => Untitled
        )

    [1] => Array
        (
            ['id']=> 11
            ['title'] => Untitled
        )

)

第一种方法似乎是最简单的,也是我一直在做的。我可以简单地说:

代码语言:javascript
复制
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $post['title'][] = $row['title'];
    $post['id'][] = $row['id'];
}

然后

代码语言:javascript
复制
$count = count($post['id']);

但第二种方法似乎更有意义,信息结构更有逻辑性。它只是在模板中设置、过滤和处理有点复杂。

代码语言:javascript
复制
$c = 0;
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $post[$c]['title'] = $row['title'];
    $post[$c]['id'] = $row['id'];
    $c++;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-25 23:04:29

第二种设置更好,也更简单:

代码语言:javascript
复制
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $posts[] = $row;
}

// total number of posts
$nrPosts = count($post);

这将自动为数组建立数字索引,并且您不需要将任何内容从$row复制到$post中,它只需复制整行。

第二种结构更好:

  • 它从逻辑上将一篇文章的数据组织成一个结构
  • 它不需要处理数据,超过了初始填充的
  • 可以很容易地处理任意数量的博客文章,只需一个索引/范围的索引
票数 3
EN

Stack Overflow用户

发布于 2009-07-25 23:05:14

在输出数据结构时,如果数据结构看起来不正确,那是没有用的。第二个数据集也更易用,这就是为什么它被用在像Wordpress这样的大型项目中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1183295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档