The problem is that the default response type of fetch is
PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set
I also find this quite confusing.
Specify the parameter fetch_style to either PDO::FETCH_ASSOC or PDO::FETCH_OBJ to get what you would expect.
Hope this helps