高效合併 PHP 物件
當使用不表現出繼承關係的 PHP5 物件時,合併其內容可能是一個挑戰。傳統的基於子類別的解決方案在這種情況下不適用。
問題陳述
考慮以下物件:
$objectA->a; $objectA->b; $objectB->c; $objectB->d;
目標是取得第三個物件 $objectC,包含 $objectA的所有屬性和$objectB.
$objectC->a; $objectC->b; $objectC->c; $objectC->d;
解決方案
合併物件最有效的方法是使用(array) 將它們轉換為數組,然後使用array_merge () 合併它們。然後可以使用 (object) 將合併的陣列強制轉換回物件:
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);
即使物件具有方法,此技術也能有效地工作,正如在 PHP 5.3 和 5.6 中測試的那樣。
備註
以上是如何在不繼承的情況下有效率地合併PHP物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!