Нужна помощь, чтобы понять набор результатов из PDO - PullRequest
0 голосов
/ 16 апреля 2011

У меня есть следующая функция, выполняющая запросы PDO:

  // removed error handling for presenting here
  function getRows($sql) {
      $stmt = $this->db->query($sql);
      $result = $stmt->fetchAll(PDO::FETCH_ASSOC);          
      return $result;            
    } 
  }

Результат:

Array
(
    [0] => Array
        (
            [id] => 1
            [category] => Audi
        )

    [1] => Array
        (
            [id] => 2
            [category] => BMW
        )

    [2] => Array
        (
            [id] => 3
            [category] => Chrysler
        )

)

Следующий foreach код:

foreach($result as $key => $value ) {
  echo $value.'<br/>';
}

выводит это:

Array
Array
Array

Что я могу сделать, чтобы он возвращал следующее?

Audi
BMW
Chrysler

Я понимаю, что мог бы просто сделать $value['category].

Но это не то, чего я хочу достичь / понять.Я бы хотел, чтобы набор результатов , а не , был массивом массивов.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2011

Цикл foreach разделяет ваш массив на пары ключ-значение. Ключ в вашем цикле - это индекс массива, значение - это массив, содержащий ID и Category.

Для доступа к категории просто выполните:

foreach($result as $key => $value ) {
  echo $value['category'].'<br/>';
}
0 голосов
/ 16 апреля 2011

попробовать

foreach($result as $key => $value ) {
  echo $value['category'].'<br/>';
}

Альтернатива

foreach($result as $k)
{
    echo $k['category'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...