Php 是否复制/克隆对象的部分?
我有一个对象$stdClassObject,它是由json_decode创建的。这是火车时刻表。我需要能够创建一个新的对象,其中只包含那些向东行驶的列车。我不知道该怎么做,因为我对PHP中的对象非常陌生。下面是我分离出的PHP代码$trips[$ny_trip]:Php 是否复制/克隆对象的部分?,php,oop,Php,Oop,我有一个对象$stdClassObject,它是由json_decode创建的。这是火车时刻表。我需要能够创建一个新的对象,其中只包含那些向东行驶的列车。我不知道该怎么做,因为我对PHP中的对象非常陌生。下面是我分离出的PHP代码$trips[$ny_trip]: // $stdClassObject originally created by json_decode foreach ($trips as $ny_trip=>$ny_trip_info) { if (East_B
// $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
...
}
}
我看到两种选择:
- 实现magic方法,以便能够自定义克隆过程
- 将此的自定义函数添加到类中。比如
YourClass::customClone($options)
看起来第一个选项非常适合这里我可以在不重新定义代码示例中从json_decode创建的原始对象的完整结构的情况下实现克隆技术吗?不,不幸的是,
json_decode()
将始终为您提供一个stdclass对象。我建议您创建一个特殊的类,比如说CustomizedObjectClonery
,并在其中添加功能。我应该提到的是,将有不止一列东向列车,此IF语句用于从$trips[0到N]克隆选定的列车。