[解決済み] 2つのPHPオブジェクトをマージするための最良の方法は何ですか?
2022-04-03 15:24:58
質問
2つのPHP5オブジェクトがあり、片方のコンテンツをもう片方のオブジェクトにマージしたいのですが、可能でしょうか?両者の間にはサブクラスの概念がないため、以下のトピックに記載されている解決策は適用できません。
//We have this:
$objectA->a;
$objectA->b;
$objectB->c;
$objectB->d;
//We want the easiest way to get:
$objectC->a;
$objectC->b;
$objectC->c;
$objectC->d;
備考
- これらはクラスではなく、オブジェクトです。
- オブジェクトにはかなり多くのフィールドが含まれているので 各 はかなり遅くなります。
- これまでのところ、オブジェクトAとBを配列に変換し、それを array_merge() オブジェクトに再変換する前に、私たちはこれを自慢に思っているわけではありません。
どのように解決するのですか?
<ブロッククオートオブジェクトがフィールドのみを含む(メソッドを含まない)場合、これは動作します。
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);
これは実は、オブジェクトがメソッドを持つ場合にも有効です。(PHP 5.3 と 5.6 でテスト済み)
関連
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] 抽象メソッドと仮想メソッドの違いは何ですか?
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] 自分」という言葉は何のためにあるのか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】2つのオブジェクト間の一般的な深い差分
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】接続の取得に失敗しました: php_network_getaddresses: getaddrinfo failed: 名前またはサービスが不明
-
[解決済み】phpのob_start()の使い道は?
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】PHP定数「PHP_EOL」はいつ使うの?
-
[解決済み】空の配列要素を削除する
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: パラメータが定義されていません
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない