どのように配列をループし、すべての日付フィールドを日付オブジェクトに変換できますか?配列内の日付文字列をdatetimeオブジェクトに変換する
私は配列を持っています。
array (size=37)
'id' => string '12' (length=3)
'name' => string 'Jack' (length=6)
'surname' => string 'Smith' (length=1)
'age' => string '24' (length=1)
'birthdate' => string '19920512' (length=0)
'joindate' => string '20160923' (length=0)
'graduationdate' => string '' (length=0)
このように日付文字列を日付オブジェクトに変換したいと思います。
$record['birthdate'] = \DateTime::createFromFormat('Ymd', $record['birthdate']);
私は自動的に日付キーを検出し、その値をdatetimeオブジェクトにしたいと思います。値が空の文字列の場合、falseにすることができます。
このように、なぜ私は
foreach ($record as $value) {
$value = \DateTime::createFromFormat('Ymd', $value['xxx']);
}
あなたは、配列のすべての性質上のループとは、正規表現で値を確認することができます。一致する場合(空でないことを意味します)、DateTimeクラスを使用して変換できる日付文字列があります。 –