2014-11-07 2 views
1

Я только что открыл следующую библиотеку https://github.com/simshaun/recurr, а на выходе - Doctrine arrayCollection.Использование петли foreach в Doctrine arraycollection

Как использовать цикл foreach для циклического прохождения этого массива и получения значения даты?

Array 
(
    [0] => Recurr\Recurrence Object 
     (
     [start:protected] => DateTime Object 
      (
       [date] => 2014-08-03 15:00:00.000000 
       [timezone_type] => 3 
       [timezone] => America/Vancouver 
      ) 

     [end:protected] => DateTime Object 
      (
       [date] => 2014-08-03 17:00:00.000000 
       [timezone_type] => 3 
       [timezone] => America/Vancouver 
      ) 

    ) 

[1] => Recurr\Recurrence Object 
    (
     [start:protected] => DateTime Object 
      (
       [date] => 2014-08-04 15:00:00.000000 
       [timezone_type] => 3 
       [timezone] => America/Vancouver 
      ) 

     [end:protected] => DateTime Object 
      (
       [date] => 2014-08-04 17:00:00.000000 
       [timezone_type] => 3 
       [timezone] => America/Vancouver 
      ) 

    ) 

) 
+0

Пожалуйста, будьте более конкретным: что вы хотите сделать здесь? – DonCallisto

+0

Извинения, обновленный мой вопрос. Я пытаюсь получить значение даты. – AshHimself

ответ

2

Это не будет работать в этом контексте - вы можете использовать цикл Еогеасп, чтобы пройти через элементы, но вы не можете получить доступ к свойству объекта, поскольку он помечен как защищенный. Таким образом, вы будете использовать Getter, чтобы вы могли получить к нему доступ.

foreach (<yourarray> as $numObject => $object) 
{ 
    $object->end; // So you could access it, but its protected 
    $object->getEndDate(); // Like this you can access it 
} 

И если у вас есть, чем у вас есть простой \ DateTime объекта и с format method вы можете получить строку даты, например, $object->getEndDate()->format('Y-m-d H:i:s');.

+0

Эй, и я думаю, я точно понимаю, что вы говорите. Я попытался и по какой-то причине получил следующую ошибку: «Вызов неопределенного метода Recurr \ Recurrence :: getEndDate() i» – AshHimself

+0

Маленькая опечатка .. спасибо за вашу помощь .. print_r ($ object-> getStart() -> format ('Ymd H: i: s')); это то, что мне нужно. – AshHimself

Смежные вопросы