web-dev-qa-db-ja.com

非推奨:関数split()は非推奨です。このステートメントを書き換える方法は?

PHP 5.3 split関数 を使用する前に正常に動作した次のステートメントがあります。

list($year, $month, $day, $hour, $min, $sec) = split( '[: -]', $post_timestamp );

PHP 5.3にアップグレードすると、非推奨の警告が表示されます。

非推奨:関数split()は非推奨です。

私は次のような形式の文字列を解析しようとしています:

2010-08-10 23:07:58

そのコンポーネント部分に。

26
morpheous

preg_split が必要だと思います。

list($year, $month, $day, $hour, $min, $sec) = preg_split('/[: -]/', $post_timestamp);
60
Brandon Horsley

新しいバージョンのPHPとMYSQLは "split"ではなく "explode"を受け入れます。

7
Baqir Sardar
$dateTime = new DateTime('2010-08-10 23:07:58');

$year = $dateTime->format('Y');
$month = $dateTime->format('m');

ドリルを取得します...それに応じて、何をするかによって、DateTimeオブジェクトを使用する方が、6つの個別の変数を使用するよりも便利な場合があります。

7
Mchl
var_dump(strptime($post_timestamp, '%Y-%m-%d %H:%M:%S'));
4
zerkms