Когда я использую ->fetchAll()
с PDO, результирующий массив выглядит так, когда я делаю print_r()
:
Array ( [0] => Array ( [week] => 2006-03-05 [0] => 2006-03-05 [ath] => 112.89166667 [1] => 112.89166667 ) [1] => Array ( [week] => 2006-03-12 [0] => 2006-03-12 [ath] => 260.04527778 [1] => 260.04527778 ) [2] => Array ( [week] => 2006-03-19 [0] => 2006-03-19 [ath] => 219.23472222 [1] => 219.23472222 )
и т.д.
Результирующие значения сохраняются дважды в памяти? Один под индексом числовой матрицы, как 0
и 1
, а другой под его названным индексом, например, week
или ath
?
Мне в основном просто любопытно. Я не ожидаю, что это существенно повлияет на мою программу. Благодарю.
Результирующие значения сохраняются дважды в памяти?
Да. См. Руководство :
PDO :: FETCH_BOTH (по умолчанию): возвращает массив, индексированный как с именем столбца, так и с номером столбца с 0-индексом, возвращаемым в результирующий набор
Используйте необязательный параметр $fetch_style
чтобы изменить способ поведения fetchAll ().
$result = $sth->fetchAll(PDO::FETCH_ASSOC);