如何解决修改PHP对象的属性名
| 在PHP中是否可以更改Objects属性键/名称?例如:stdClass Object
(
[cpus] => 2
[created_at] => 2011-05-23T01:28:29-07:00
[memory] => 256
)
我希望将Object中的键created_at
更改为created
,从而使对象看起来像:
stdClass Object
(
[cpus] => 2
[created] => 2011-05-23T01:28:29-07:00
[memory] => 256
)
解决方法
$object->created = $object->created_at;
unset($object->created_at);
但是,取决于适配器操作的位置和频率,诸如适配器类之类的选项可能是更可靠的选择。
class PC {
public $cpus;
public $created;
public $memory;
public function __construct($obj) {
$this->cpus = $obj->cpu;
$this->created = $obj->created_at;
$this->memory = $obj->memory;
}
}
$object = new PC($object);
,不可以,因为键是对值的引用,而不是值本身。
最好先复制原件,然后再将其删除。
$obj->created = $obj->created_at;
unset(obj->created_at);
,它类似于@deceze适配器,但无需创建额外的类
$object = (object) array(
\'cpus\' => $obj->cpus,\'created\' => $obj->created_at,\'memory\' => $obj->memory
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。