2017-09-13 68 views
0

我有兩個stdClass的對象即你可以比較和更新兩個stdClass數組嗎?

stdClass Object 
(
    [apple] => 10 
    [orange] => 10 
    [grape] => 10 
    [banana] => 20 
    [mango] => 30 
) 

stdClass Object 
(
    [apple] => 15 
) 

我可以更新的蘋果像一個正常的陣列操作?或者有另一種方式可以這樣做嗎?

這和普通的數組有什麼區別?

+1

這些都是對象,而不是數組。 – Script47

+0

[比較對象屬性和在PHP中顯示比較]可能的重複(https://stackoverflow.com/questions/5911067/compare-object-properties-and-show-diff-in-php) –

回答

0

你會通過他們循環使用普通foreach循環:

$obj = new StdClass; 

$obj->test = 1; 
$obj->more_testing = 2; 

foreach ($obj as $key => $value) { 
    echo $key . ': ' . $value . '\n\n'; 
} 

,或者你可以扮演他們作爲你的對象爲使用(array)數組。

活生生的例子

Repl

閱讀材料

Iterations

+0

這隻適用於公共領域。 –

0

參見comparing objects官方文檔:

使用比較運算符(==)時,將以簡單的方式比較對象變量,即:如果兩個對象實例具有相同的屬性和值(值與==進行比較),並且是同班。

當使用身份運算符(===)時,當且僅當它們引用同一個類的同一實例時,對象變量纔是相同的。

而且,在這裏看到:What's the fastest way to compare two objects in PHP?