Цикл по многомерному массиву, начиная со второго массива в PHP, если существует - PullRequest
0 голосов
/ 19 апреля 2010

Я возвращаю SQL-запрос из базы данных, используя PEAR, в массив.

$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 голосов
/ 22 апреля 2010

Спасибо за совет. Я понятия не имею, почему я так застрял на 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) и повторялось до тех пор, пока пять результатов или все остальные результаты не были зациклены. Я не совсем доволен читаемостью моего цикла (показывая номер 6 в коде, когда я перебираю 5 результатов), но пока этого будет достаточно.

0 голосов
/ 19 апреля 2010

Я бы сказал, просто сделай условие if для первого элемента

foreach ($ db_results как $ k => $ строка) if ($ k == 0) { // форматировать таким образом

} еще { // отформатируем это по-другому }

}

...