2013-06-17 3 views
2

У меня есть объект $ stdClassObject, созданный json_decode. Это для расписания поездов. Мне нужно иметь возможность создать новый объект, который содержит только те поезда, направляющиеся на восток. Я не понимаю, как это сделать, поскольку я очень новичок в объектах в PHP. Вот PHP код, который я изолят $ поездки [$ ny_trip]:Копирование/клонирование частей объекта?

// $stdClassObject originally created by json_decode 
foreach ($trips as $ny_trip=>$ny_trip_info) { 

    if (East_Bound($ny_trip_info->DESTINATION)) { 
    // Copy or clone(?) $trips[$ny_trip]) to an object called east_bound 
     ... 
    } 
} 
+0

Следует отметить, что там будет больше, чем один East Bound поезд, и это IF утверждение клонированию над выбранными из $ поездки [0 - N]. – Edward

ответ

2

Я вижу два варианта:

  • Реализовать магический метод __clone(), чтобы иметь возможность настроить процесс клонирования
  • Добавьте пользовательскую функцию для этого в свой класс. Как YourClass::customClone($options)

Похоже, что первый вариант сьютов очень хорошо здесь

+0

+1 для '__clone()', который я полностью забыл об этом – Alex

+0

thx, yep '__clone()' is nice :) – hek2mgl

+0

Могу ли я реализовать технологию клонирования без переопределения полной структуры исходного объекта, который был создан в моем пример кода из json_decode? – Edward

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