PHP中的数据标准?

PHP中的数据标准?,php,mysql,codeigniter,Php,Mysql,Codeigniter,这可能是一个愚蠢的问题,但我一直未能找到任何答案。所以我转向一个我总能找到答案的地方。我正在使用CodeIgniter框架。我想知道是否有一个类返回数据的标准 有时im以数组形式返回数据(无论是多维还是一维) 其他时候,我将数据作为对象返回 $query = $this->db-query($sql); $result = $query->result(); // returned as object foreach( $result as $row) { $row-&g

这可能是一个愚蠢的问题,但我一直未能找到任何答案。所以我转向一个我总能找到答案的地方。我正在使用CodeIgniter框架。我想知道是否有一个类返回数据的标准

有时im以数组形式返回数据(无论是多维还是一维) 其他时候,我将数据作为对象返回

$query = $this->db-query($sql);
$result = $query->result(); // returned as object    
foreach( $result as $row)
{
  $row->title
  $row->body
}


哪一个更适合模板化?或者每种方法的优缺点是什么?

对象实际上并不是具有公共属性的简单容器,而数组是。因此,您应该使用数组


对于样式设计而言,并没有太大的变化

对象是实际上并不意味着是带有公共属性的简单容器,而数组是。因此,您应该使用数组


对于样式设计而言,并没有太大的变化

当您的对象不是真实对象,只是一个伪装的数组时,最好将其设置为显式数组

当您的对象不是真实对象,只是一个伪装的数组时,最好将其设置为显式数组

您可以使用对象作为简单的容器值(尽管使用数组可能更容易)。在我看来,是否使用数组或标准对象主要取决于您的个人喜好。关于干净的代码,唯一重要的一点是一致地使用数组或对象(以避免不必要的混淆)。

您可以使用对象作为简单的容器值(尽管使用数组可能更容易)。在我看来,是否使用数组或标准对象主要取决于您的个人喜好。关于干净的代码,唯一重要的一点是一致地使用数组或对象(以避免不必要的混淆)。

PHP中的
stdClass
对象不是类似于C中的
struct
数据结构,它们是简单的容器吗?@Gargron,是的,但对象不是用来存储数据的。时期数组可以通过
foreach($a为数组)
轻松循环,而使用对象时需要
foreach(get\u object\u vars($obj)as$a)
,您看到问题了吗?除了访问属性之外,几乎任何东西都需要破解。我认为OP询问的是存储在stdClass中的单个项的数据与存储在散列中的数据,而不是多个项应该存储在哪里。@Gargron,我不是说多个项:例如,显示一个对象的所有信息与数组的所有信息,你需要一个循环。在我的经验中,需要迭代一个项目的属性的场景是非常罕见的——通常你知道你要获取什么以及在哪里使用哪些属性。我们想到的唯一一种情况是显示表模式phpMyAdmin样式。PHP中的
stdClass
对象与C中的
struct
数据结构类似吗?它们是简单的容器?@Gargron,是的,但对象不是用来存储数据的。时期数组可以通过
foreach($a为数组)
轻松循环,而使用对象时需要
foreach(get\u object\u vars($obj)as$a)
,您看到问题了吗?除了访问属性之外,几乎任何东西都需要破解。我认为OP询问的是存储在stdClass中的单个项的数据与存储在散列中的数据,而不是多个项应该存储在哪里。@Gargron,我不是说多个项:例如,显示一个对象的所有信息与数组的所有信息,你需要一个循环。在我的经验中,需要迭代一个项目的属性的场景是非常罕见的——通常你知道你要获取什么以及在哪里使用哪些属性。唯一想到的情况是显示表模式phpMyAdmin样式。
$result = $query->result_array(); //multidimensional array
foreach($result as $row)
{
  $row['title']
  $row['body']
}