doulun7739 2012-07-12 11:04
浏览 33
已采纳

php:有没有理由在回显数据之前先填充结果数组

I'm reading sitepoint's book PHP & MySQL Novice to Ninja and I'm wondering why he takes an extra step.

My SQL query is

try
{
    $sql = 'SELECT * FROM trazooevents WHERE county = :county';
    $s = $pdo->prepare($sql);
    $s->bindValue(':county', $_POST['search_term']);
    $s->execute();

    include 'events.inc.php';
}

and in my include

<?php foreach ($s as $row): ?>
    <li class="db-headline"><?php echo htmlspecialchars($row['eventname'], ENT_QUOTES, 'UTF-8'); ?></li>
    // etc.
<?php endforeach; ?>

and it works perfectly fine. In the book Kevin Yank adds an extra step similar to:

foreach ($result as $row)
{
    $events[] = array(
    'eventname' => $row['eventname'],
    'eventdetails' => $row['eventdetails'],
    'weburl' => $row['weburl'],
    'imagename' => $row['imagename'],
    'expireson' => $row['expireson']
    );
}

Does he do this to just get an index label or is there some security issue I don't know?

  • 写回答

2条回答 默认 最新

  • donglao4370 2012-07-12 11:08
    关注

    It's a matter of readability of the code. You won't use row but an array with more semantic significance: events.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集