<?php
/** http://www.lawebdelprogramador.com **/
# Indicamos el mes que queremos obtener el ultimo dia
$month=11;
# Indicamos de que año
$year=2010;
# mktime(0,0,0,$month+1,1,$year) = devuelve el timestamp de la fecha indicada
# aumentando en uno el numero del mes, y dejando el numero del dia como el
# primero 1. Tambien le indicamos que es la hora 0, minuto y segundos 0. Aqui
# obtendremos el timestamp de la hora 0 del primer dia del mes sugiente.
# -1 = restamos un segundo al timestamp, por lo que ya estamo en el mes anterior,
# es decir el que queremos saber.
# date("d" = devuelve el ultimo dia del mes.
echo date("d",(mktime(0,0,0,$month+1,1,$year)-1));
?>
Comentarios sobre la versión: Versión 1 (4)
$month = '2014-01';
$aux = date('Y-m-d', strtotime("{$month} + 1 month"));
$last_day = date('Y-m-d', strtotime("{$aux} - 1 day"));
echo "El último día del mes es: {$last_day}";
$fecha = new DateTime();
$fecha->modify('last day of this month');
echo $fecha->format('d');