Doctrine DBALによって返された結果をループして、各配列から文字列/非整数キーのみを返したいと思います。以下を使用すると、Doctrine は文字列キー (データベースの列名にマップされます) と整数をキーとする重複値の両方を返します。反復アプローチを使用して、文字列/非整数キーのみを取得するにはどうすればよいですか?
$stmt = $app['db']->prepare('SELECT * FROM table');
$stmt->execute();
while ($row = $stmt->fetch()) {
print_r($row['track_name']);
}
戻り値
Array
(
[field1] => foo1
[0] => foo1
[field2] => bar1
[1] => bar1
)
Array
(
[field1] => foo2
[0] => foo2
[field2] => bar2
[1] => bar2
)
...
手に入れたい
Array
(
[field1] => foo1
[field2] => bar1
)
Array
(
[field1] => foo2
[field2] => bar2
)
...
頼ることなく
$fields = array('field1', 'field2');
while ($row = $stmt->fetch()) {
foreach ($row as $key => $val) {
if (in_array($key, $fields)) {
print_r($row[$key]);
}
}
}