マージしたい 2 つの PHP オブジェクトがありますが、それらは互いのサブクラスではありません。遅いループの使用を回避する効率的な方法が必要です。
オブジェクトにフィールドのみが含まれている場合は、次の方法を使用してフィールドを新しいオブジェクトにマージできます。
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);
これは、オブジェクトを配列に変換し、array_merge() 関数を使用して配列をマージし、マージされた配列を変換して戻すことで機能します。 object.
$objectA->a; $objectA->b; $objectB->c; $objectB->d; // Merge the objects $objectC = (object) array_merge((array) $objectA, (array) $objectB); // Verify the merged object echo $objectC->a; // Output: Value of a from objectA echo $objectC->b; // Output: Value of b from objectA echo $objectC->c; // Output: Value of c from objectB echo $objectC->d; // Output: Value of d from objectB
このメソッドは、オブジェクトにメソッドがある場合にも機能しますが、完全にテストされていません。
以上が関連のない 2 つの PHP オブジェクトを効率的にマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。