Это должно сделать это:
list($d, $m, $y) = explode('/', $datedue);
$billdate = date('Y-m-d', mktime(0,0,0,$m,$d,$y);
Или это может быть без функций даты, как предложил Гамбо:
list($d, $m, $y) = explode('/', $datedue);
$billdate = "$y-$m-$d";
Я бы рекомендовал использовать date
, хотя, если вы подозреваете, что вам нужно изменить формат в будущем. Для такого простого разбиения нет необходимости использовать регулярное выражение. В этом случае взрыв будет намного быстрее.
Функции регулярных выражений ereg_
устарели с PHP 5.3.0 и будут удалены в PHP 6. Для регулярных выражений используйте функции preg_
.
О сокрытии ошибки; вы никогда не должны скрывать уведомления при разработке, так как они помогают вам создавать лучший код. Без этого уведомления вы бы с радостью использовали ereg
, и ваше приложение ужасно сломалось бы при обновлении сервера до PHP 6. Но вы можете контролировать количество отображаемых ошибок с помощью error_reporting () . Отключение функции error_reporting при запуске сайта может быть хорошей идеей.
Кстати, начните принимать некоторые ответы, если вы найдете их полезными.