나는 다음과 같은 코드가 있습니다날짜 시간 인스턴스 속성 a를 위해서 var_dump에 의한 변경() 또는 인 print_r()
<?php
$date = new DateTime;
var_dump($date);
$date->timezone = 'Europe/Madrid';
var_dump($date->timezone); // Shows 'Europe/Madrid'
var_dump($date); // Shows 'UTC' (!)
var_dump($date->timezone); // Shows 'UTC' (!!)
다음과 같은 출력을 보여줍니다
object(DateTime)#1 (3) {
["date"]=>
string(26) "2017-11-08 21:21:15.596968"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}
string(13) "Europe/Madrid"
object(DateTime)#1 (3) {
["date"]=>
string(26) "2017-11-08 21:21:15.596968"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}
string(3) "UTC"
왜 $date->timezone
변경 다시 유럽에서/마드리드 '에서'UTC '까지 간단하게 할 때 var_dump($date)
???
var_dump()
대신 print_r()
을 사용하면 같은 결과가 나타납니다.
답장을 보내 주셔서 감사합니다. 'print_r()'또는'var_dump()'를 사용할 때 존재하지 않는 속성을 표시하기 위해 PHP가 사용하는 기본 메커니즘을 자세히 설명해 주시겠습니까? PHP는 어떻게 할 수 있습니까? –
이 알려진 "버그"에 대한 자세한 정보가 필요하면 - https://bugs.php.net/bug.php?id=75232 –
@ RicardoPérezLópez 자세한 내용을 보려면 여기를 클릭하십시오. . [Here 's one] (https://stackoverflow.com/questions/17066034/print-r-add-properties-to-datetime-objects) –