从PHP中的第二个数组开始循环遍历多维数组(如果存在)

时间:2010-04-19 16:42:37

标签: php loops multidimensional-array foreach

我使用PEAR将数据库中的SQL查询返回到数组中。

$db_results = $db->getAll("SELECT * FROM loans ORDER BY amount, length, true_interest_cost");

如果查询返回结果,我想以一种方式显示第一个结果格式,然后以其他方式格式化其余结果。

所以,我的最终结果看起来像这样:

  

这是最小的贷款   最小的长度和最小的真实   利息成本

     
      
  • 贷款名称:Superloans
  •   
  • 贷款金额:100美元
  •   
  • 长度:14天
  •   
  • TIC:350%
  •   
     

还有这些贷款

     
      
  • Hyperloans,100美元,14天,360%
  •   
  • Duperloands,200美元,15天,400%
  •   

我的问题是:

  • 是否可以从PHP的第二个数组开始循环遍历多维数组,或者我应该采取其他方式吗?

这就是我现在正在做的循环结果。

foreach($db_results as $row)
{
    print $row[1];
    print $row[2];
}

2 个答案:

答案 0 :(得分:0)

我会说只是为第一个项目做一个if条件

foreach($ db_results为$ k => $ row) if($ k == 0){ //格式化这种方式

} else { //以另一种方式格式化 }

}

答案 1 :(得分:0)

感谢您的提示。我不知道为什么我如此坚持foreach。我最终使用了这样的for循环:

// Show only the first five results, start from the second
for($row=1;$row<min(6,count($db_results));$row++)
    {
        print $db_results[$row][1];
    }

我在这里做的是从第二行(索引1)开始并循环直到五个结果或所有其他结果已经循环。我对循环的可读性并不完全满意(当我循环浏览5个结果时,在代码中显示数字6),但现在这已经足够了。