添加到一个类具有对象中元素的变量
$class = new Class;
$foo = json_decode($_POST['array']);
在这个精心设计的示例中,我有一个具有自己的函数和变量的类,等等。
我还刚刚解码了一个 JSON 字符串,因此这些值现在位于 $foo
中。如何将 $foo
中的元素移动到 $class
,以便:
$foo->name
变为 $class ->名称
?
如果我知道所有元素是什么,那将是微不足道的,是的……除了为了保持动态之外,假设我希望将它们全部转移过来,而且我不知道它们的名字。
$class = new Class;
$foo = json_decode($_POST['array']);
In this highly contrived example, I have a class with its own functions and variables, blah blah.
I also just decoded a JSON string, so those values are now in$foo
. How do I move the elements in $foo
over to $class
, so that:
$foo->name
becomes $class->name
?
Would be trivial if I knew what all the elements were, yes... except for the sake of being dynamic, let's say I want them all transferred over, and I don't know their names.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
get_object_vars
:您也可以在您的类中实现这一点:
然后将对象转换为数组:
或添加一个方法来执行此操作:
You could use
get_object_vars
:You could also implement this in your class:
And then cast the object into an array:
or add a method to do that too:
向类中添加一个函数以从对象加载值,然后使用 < code>foreach 迭代对象的属性并将它们添加到类中(在初始化类成员之前不需要声明它们):
Add a function to your class to load values from an object, and then use
foreach
to iterate over the object's properties and add them to the class (you do not need to declare your class members before you initialize them):