Kami mempunyai dua objek PHP yang ingin kami gabungkan, tetapi ia bukan subkelas antara satu sama lain. Kami memerlukan kaedah cekap yang mengelakkan penggunaan gelung perlahan.
Jika objek hanya mengandungi medan, kita boleh menggunakan kaedah ini untuk menggabungkannya menjadi objek baharu:
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);
Ini berfungsi dengan menukar objek kepada tatasusunan, menggabungkan tatasusunan menggunakan fungsi array_merge() dan kemudian menukar tatasusunan digabungkan kembali kepada objek.
$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
Kaedah ini juga berfungsi jika objek mempunyai kaedah, walaupun ini belum diuji secara menyeluruh.
Atas ialah kandungan terperinci Bagaimana untuk menggabungkan dua objek PHP yang tidak berkaitan dengan cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!