Top.Mail.Ru
Ответы

Как сделать замену значений

Есть функция обработки даты из БД. Её код:
$_monthsList = array(".01." => "января", ".02." => "февраля",
".03." => "марта", ".04." => "апреля", ".05." => "мая", ".06." => "июня",
".07." => "июля", ".08." => "августа", ".09." => "сентября",
".10." => "октября", ".11." => "ноября", ".12." => "декабря");
$date = date("d. m. Y", strtotime($date));
$_mD = date(".m.");
$date = str_replace($_mD, " ".$_monthsList[$_mD]." ", $date);
return $date;
По идее должна быть подмена числа месяца на название, но её нет, т. к. выводит в виде 15. 03. 2018

Дополнен

В итоге вышло так:
$monthes = array(
1 => 'Января', 2 => 'Февраля', 3 => 'Марта', 4 => 'Апреля',
5 => 'Мая', 6 => 'Июня', 7 => 'Июля', 8 => 'Августа',
9 => 'Сентября', 10 => 'Октября', 11 => 'Ноября', 12 => 'Декабря'
);
return $date = (date('d ', strtotime($date)) . $monthes[(date('n', strtotime($date)))] . date(' Y', strtotime($date)));

Спасибо вам, а то голову сломал уже.

По дате
По рейтингу
Аватар пользователя
Новичок
7лет

d. m. Y
У тебя пробелы, поэтому .m. и не находит

Аватар пользователя
Мыслитель
7лет

зачем столько лишнего кода???