正在从数组对象(DateTime)获取值


Getting value from array object(DateTime)

我尝试使用$class->diff_time('2014-02-11',date("Y-m-d"))[0]['date']访问该值,但似乎无法转换数组中的对象。甚至这个表单函数()[table]也是显示数据的合法方法吗?看起来很不自然。

function diff_time($lowest,$highest){
   /* input format @$lowest @$highest
                Y-m-d 
   */
   $container = array();
   $dStart = new DateTime($lowest);
   $dEnd  = new DateTime($highest);
   $dDiff = $dStart->diff($dEnd);
   $containser = array($dStart,$dEnd,$dDiff->days,$dDiff->format('%R'));
   return $containser;
}
var_dump($class->diff_time('2014-02-11',date("Y-m-d")));
array(4) {
  [0]=>
  object(DateTime)#3 (3) {
    ["date"]=>
    string(19) "2014-02-11 00:00:00"
    ["timezone_type"]=>
    int(3)
    ["timezone"]=>
    string(13) "Europe/Berlin"
  }
  [1]=>
  object(DateTime)#4 (3) {
    ["date"]=>
    string(19) "2014-11-05 00:00:00"
    ["timezone_type"]=>
    int(3)
    ["timezone"]=>
    string(13) "Europe/Berlin"
  }
  [2]=>
  int(267)
  [3]=>
  string(1) "+"
}
print_r($class->diff_time('2014-02-11',date("Y-m-d"))[0]);
DateTime Object
(
    [date] => 2014-02-11 00:00:00
    [timezone_type] => 3
    [timezone] => Europe/Berlin
)

似乎日期是对象的一个字段,所以请尝试

$class->diff_time('2014-02-11',date("Y-m-d"))[0]->date;