2011-02-26 42 views
10

當我使用->fetchAll()與PDO,結果數組是這樣的,當我做一個print_r()PDO MySQL fetchAll()在結果中使用雙倍的必要內存?

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 
     ) 

等等等等

存儲兩次存儲所產生的價值?一個在01之類的數值數組索引下,另一個在其指定的索引下,如weekath

我主要只是好奇。我不認爲這會對我的計劃產生重大影響。謝謝。

回答

16

結果值是否在內存中存儲兩次?

是的。見manual

PDO :: FETCH_BOTH(默認):返回由索引的數組兩列名和0索引的列數在結果集返回

使用可選$fetch_style參數改變fetchAll()的行爲方式。

$result = $sth->fetchAll(PDO::FETCH_ASSOC); 
+0

啊謝謝Pekka!我不明白這個參數是什麼。 – Brad 2011-02-26 22:49:40

+0

以及如何獲取只有0索引的列號數組? – beginner 2017-09-23 12:47:59

相關問題