Skip to content

Instantly share code, notes, and snippets.

@tadasuke
Created July 15, 2015 09:12
Show Gist options
  • Save tadasuke/90fdfae97decde3ec4b3 to your computer and use it in GitHub Desktop.
Save tadasuke/90fdfae97decde3ec4b3 to your computer and use it in GitHub Desktop.
PDOで取得したデータ型がDATETIMEだったら、DateTimeオブジェクトに入れる ref: http://qiita.com/tadasuke/items/523fa31caf13a112aacd
// SELECT実行
$sth -> execute();
// DATETIME型のカラム名配列を作成する
$datetimeColumnNameArray = array();
for ($i = 0; $i < $sth -> columncount(); ++$i ) {
// カラムのメタ情報を取得
$columnMeta = $sth -> getColumnMeta( $i );
// DATETIME型の場合
if ( strcmp( $columnMeta['native_type'], 'DATETIME' ) == 0 ) {
$datetimeColumnNameArray[] = $columnMeta['name'];
} else {
;
}
}
// 結果を入れる配列
$valueArray = array();
// 結果を取得
while ( $value = $sth -> fetch( PDO::FETCH_ASSOC ) ) {
// DATETIME型配列に含まれていたら、DateTimeオブジェクトにする
foreach ( $datetimeColumnNameArray as $datetimeColumnName ) {
$value[$datetimeColumnName] = new DateTime( $value[$datetimeColumnName] );
}
$valueArray[] = $value;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment