我有两个stdclass对象,即
stdClass Object
(
[apple] => 10
[orange] => 10
[grape] => 10
[banana] => 20
[mango] => 30
)
stdClass Object
(
[apple] => 15
)
我可以像正常的阵列操作一样更新苹果吗?或者还有另一种方法吗?
还有这个和普通数组之间的区别吗?
答案 0 :(得分:0)
您可以使用普通的foreach
循环遍历它们:
$obj = new StdClass;
$obj->test = 1;
$obj->more_testing = 2;
foreach ($obj as $key => $value) {
echo $key . ': ' . $value . '\n\n';
}
或者您可以使用(array)
将它们作为数组投射为数组。
直播示例
阅读材料
答案 1 :(得分:0)
请参阅comparing objects上的官方文档:
当使用比较运算符(==)时,对象变量以简单的方式进行比较,即:如果两个对象实例具有相同的属性和值(值与==进行比较),则它们是相等的,并且是同一个班级。
当使用标识运算符(===)时,当且仅当它们引用同一类的同一实例时,对象变量才相同。
另请参阅此处:What's the fastest way to compare two objects in PHP?