【问题标题】:Codeigniter Database results - Objects or Arrays?Codeigniter 数据库结果 - 对象还是数组?
【发布时间】:2013-05-18 19:36:43
【问题描述】:

我使用 Codeigniter 已经有一段时间了,我经常想知道哪个/是否使用 Codeigniter 的

$query->result()$query->result_array()

就个人而言,我倾向于坚持使用数组,因为我发现操作数组和推送项目等更容易。唯一让我有点恼火的是在视图中简单或编写语句,例如

$row->title$row['title'] 更简洁易读

但是

另一方面,$row->{0} 不是 $row[0]

我仍然不知道该走哪条路,如果有人能告诉我使用对象而不是数组的更多好处,我会很高兴!

【问题讨论】:

  • 如果你喜欢 OOPS 而不是对象有优势
  • 这完全取决于您 - 如果您更喜欢使用数组,请坚持使用它们,如果您更喜欢 OOP,对象会更好看。
  • 随便挑一个。无论您想使用哪个都可以。另外,你为什么要使用$row->{0}$query->result() 返回一个对象数组
  • 如果您曾经有一个名为数字的数据库列,例如0 | 1 | 2(无论出于何种原因 - 我已经使用了一些奇怪的 API!)然后你需要使用上面的括号示例来引用

标签: php database arrays codeigniter object


【解决方案1】:

我更喜欢对象,但在需要对所有(或某些)列执行某些检查或操作的情况下,使用数组可以减少混乱:

foreach ($row as $column => $value) { 
  if ($value == null) {
    // oh no!  null!
  }
}

// check these columns and make sure they're non-negative
$non_negative = array('amount_paid', 'income');

foreach ($non_negative as $column) {
  if ($row[$column] < 0) {
    // less than zero?  what a bum.
  }
}

【讨论】:

    猜你喜欢
    • 2012-12-17
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    相关资源
    最近更新 更多