print_r () adiciona propriedades a objetos DateTime [duplicados]
Esta questão já tem uma resposta aqui:
Por que não consigo acessar DateTime-> date na classe DateTime do PHP? Isso é um bug? 4 respostasConsidere o seguinte exemplo de código:
$m_oDate = new DateTime('2013-06-12 15:54:25');
print_r($m_oDate);
echo $m_oDate->date;
Desde o PHP 5.3, isso produz (algo como) a seguinte saída:
DateTime Object
(
[date] => 2013-06-12 15:54:25
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
2013-06-12 15:54:25
No entanto, o seguinte código:
$m_oDate = new DateTime('2013-06-12 15:54:25');
echo $m_oDate->date;
... simplesmente emite um erro:
Notice: Undefined property: DateTime::$date in ...
Porqueprint_r()
"adicionar" essas propriedades ao objeto? Note que eles não são definidos como parte doDateTime
classe nopágina de manual.