Hướng dẫn php merge objects - php hợp nhất các đối tượng

Xem thảo luận

Show

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc
    Approach 1: Convert object into data array and merge them using array_merge() function and convert this merged array back into object of class stdClass.
    Note: While merging the objects using array_merge(), elements of array in argument1 are overwritten by elements of array in argument2. This may nullify the resulting elements in final object if array in argument2 has null values. 
    Note: Functions are not copied using this approach. Only use this approach if class only contain variables.
    Example: 
     

    Bàn luận

    Cho hai đối tượng có cùng lớp và tác vụ là hợp nhất cả hai đối tượng thành một đối tượng. Các đối tượng sử dụng Array_merge (), các phần tử của mảng trong argune1 được ghi đè bởi các phần tử của mảng trong argun2. Điều này có thể vô hiệu hóa các phần tử kết quả trong đối tượng cuối cùng nếu mảng trong argun2 có các giá trị null. & Nbsp; Lưu ý: Các chức năng không được sao chép bằng cách sử dụng phương pháp này. Chỉ sử dụng phương pháp này nếu lớp chỉ chứa các biến.example: & nbsp; & nbsp;

    }

    PHP

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    2

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    4

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    6

    class Geeks {

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    2

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    4

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    6

    $objectA = new

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    0

    1034$objectA634

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7class0

    class1

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    7class0

    class4

    Output:

    stdClass Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7 = new
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    0
    Merge the object using array_merge() method and convert this merged array to object using convertObjectClass function. This function is used to convert object of the initial class into serialized data using serialize() method. Unserialize the serialized data into instance of the final class using unserialize() method. Using this approach obtain an object of user defined class Geeks rather the standard class stdClass.
    Example: 
     

    Bàn luận

    Cho hai đối tượng có cùng lớp và tác vụ là hợp nhất cả hai đối tượng thành một đối tượng. Các đối tượng sử dụng Array_merge (), các phần tử của mảng trong argune1 được ghi đè bởi các phần tử của mảng trong argun2. Điều này có thể vô hiệu hóa các phần tử kết quả trong đối tượng cuối cùng nếu mảng trong argun2 có các giá trị null. & Nbsp; Lưu ý: Các chức năng không được sao chép bằng cách sử dụng phương pháp này. Chỉ sử dụng phương pháp này nếu lớp chỉ chứa các biến.example: & nbsp; & nbsp;

    }

    PHP

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    2

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    4

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    6

    class Geeks {

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    2

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    4

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    6

    $objectA = new

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    0

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7 = new
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    0

    1$objectA9= 0

    1= 20$objectA3= 5

    1$objectA3= 0

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    8
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    90

    $objectA5new7

    }

    Cách tiếp cận 2: Hợp nhất đối tượng bằng phương thức Array_merge () và chuyển đổi mảng hợp nhất này thành đối tượng bằng hàm convertObjectClass. Hàm này được sử dụng để chuyển đổi đối tượng của lớp ban đầu thành dữ liệu tuần tự bằng phương thức serialize (). Unserialize dữ liệu tuần tự hóa thành ví dụ của lớp cuối cùng bằng phương thức unserialize (). Sử dụng phương pháp này có được một đối tượng của người dùng do người dùng xác định thay vì lớp tiêu chuẩn stdclass.example: & nbsp; & nbsp;

    1034$objectA634

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7new3
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    13class0

    class1

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    7class0

    class4

    Output:

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )

    }9 $objectA0$objectA1$objectA2$objectA3$objectA4 Create a new object of the original class and assign all the properties of both objects to this new object by using foreach loop. This is a simple and clean approach of merging two objects.
    Example: 
     

    Bàn luận

    Cho hai đối tượng có cùng lớp và tác vụ là hợp nhất cả hai đối tượng thành một đối tượng. Các đối tượng sử dụng Array_merge (), các phần tử của mảng trong argune1 được ghi đè bởi các phần tử của mảng trong argun2. Điều này có thể vô hiệu hóa các phần tử kết quả trong đối tượng cuối cùng nếu mảng trong argun2 có các giá trị null. & Nbsp; Lưu ý: Các chức năng không được sao chép bằng cách sử dụng phương pháp này. Chỉ sử dụng phương pháp này nếu lớp chỉ chứa các biến.example: & nbsp; & nbsp;

    }

    PHP

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    2

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    4

    $objectA

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    6

    class Geeks {

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    38

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    40

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    42

    $objectA = new

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    0

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    47
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7$objectA2$objectA3$objectA4

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    7 = new
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 4
        [e] => 5
        [f] => 6
    )
    0

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    7
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    8
    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    90

    Cách tiếp cận 2: Hợp nhất đối tượng bằng phương thức Array_merge () và chuyển đổi mảng hợp nhất này thành đối tượng bằng hàm convertObjectClass. Hàm này được sử dụng để chuyển đổi đối tượng của lớp ban đầu thành dữ liệu tuần tự bằng phương thức serialize (). Unserialize dữ liệu tuần tự hóa thành ví dụ của lớp cuối cùng bằng phương thức unserialize (). Sử dụng phương pháp này có được một đối tượng của người dùng do người dùng xác định thay vì lớp tiêu chuẩn stdclass.example: & nbsp; & nbsp;

    $objectA5}

    }9 $objectA0$objectA1$objectA2$objectA3$objectA4

    Cách tiếp cận 2: Hợp nhất đối tượng bằng phương thức Array_merge () và chuyển đổi mảng hợp nhất này thành đối tượng bằng hàm convertObjectClass. Hàm này được sử dụng để chuyển đổi đối tượng của lớp ban đầu thành dữ liệu tuần tự bằng phương thức serialize (). Unserialize dữ liệu tuần tự hóa thành ví dụ của lớp cuối cùng bằng phương thức unserialize (). Sử dụng phương pháp này có được một đối tượng của người dùng do người dùng xác định thay vì lớp tiêu chuẩn stdclass.example: & nbsp; & nbsp;

    $objectA5}

    }9 $objectA0$objectA1$objectA2$objectA3$objectA4

    }

    $objectA5$objectA6 $objectA7

    Các

    class1

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )
    7class0

    class4

    Output:

    Geeks Object
    (
        [a] => 1
        [b] => 2
        [d] => 3
        [e] => 4
        [f] => 5
        [g] => 6
    )