PHP-如何重命名对象属性?
我想知道如何在PHP中重命名对象属性,例如:PHP-如何重命名对象属性?,php,oop,properties,Php,Oop,Properties,我想知道如何在PHP中重命名对象属性,例如: <?php $obj = new stdclass(); $obj->a = 10; // will be renamed $obj->b = $obj->a; // rename "a" to "b", somehow! unset($obj->a); // remove the original one 您的代码工作正常,$obj->b在执行后为10: 当您取消设置$obj->a时
<?php
$obj = new stdclass();
$obj->a = 10; // will be renamed
$obj->b = $obj->a; // rename "a" to "b", somehow!
unset($obj->a); // remove the original one
您的代码工作正常,$obj->b
在执行后为10
:
当您取消设置$obj->a
时,您只需删除该属性,而不触及该值。如果该值被其他变量使用,则在order变量中保持不变。使用对象克隆,参考:这很方便。在执行代码$obj:object(stdClass)#1(1){[“b”]=>int(10)}之后,它就不必再进行反射和其他类似于其他语言的奇特操作了。有关编写变量和引用的PHP句柄的详细信息,请参阅……这不是重命名,而是复制。它将占用->a的两倍内存。仅仅说“重命名”对处理大型数据集的开发人员来说通常只是一件重要的事情。
<?php
$obj = new stdclass();
$obj->a = 10; // will be renamed
$obj->b = $obj->a; // rename "a" to "b", somehow!
unset($obj->a); // remove the original one
var_dump($obj->b); //10 Works fine