<?php
$array1 = [
(object) [
"mem_tbl_id" => 1,
"m_name_e" => "Titus C.",
"member_id" => "KZI37M3025",
"gender" => "Male",
"m_number" => 9489455057,
"familyid" => "KZI54F2256"
],
(object) [
"mem_tbl_id" => 2,
"m_name_e" => "Baby Helen",
"member_id" => "KZI45M6402",
"gender" => "Female",
"m_number" => null,
"familyid" => "KZI54F2256"
],
(object) [
"mem_tbl_id" => 3,
"m_name_e" => "Satheesh Premananth T.",
"member_id" => "KZI69M3438",
"gender" => "Male",
"m_number" => null,
"familyid" => "KZI69F5619"
]
];
$array2 = [
(object) [
"mem_tbl_id" => 1,
"do_birth" => "1937-09-18"
],
(object) [
"mem_tbl_id" => 2,
"do_birth" => "1945-02-06"
],
(object) [
"mem_tbl_id" => 3,
"do_birth" => "1968-04-12"
]
];
$array3 = [
(object) [
"mem_tbl_id" => 3,
"do_baptism" => "1969-04-13"
]
];
$array4 = [
(object) [
"mem_tbl_id" => 1,
"do_confirm" => "1954-04-07"
],
(object) [
"mem_tbl_id" => 3,
"do_confirm" => "1990-04-29"
]
];
$result = [];
foreach ([$array1, $array2, $array3, $array4] as $objectArray) {
foreach ($objectArray as $obj) {
if (!isset($ref[$obj->mem_tbl_id])) {
$ref[$obj->mem_tbl_id] = $obj;
$result[] = $ref[$obj->mem_tbl_id];
} else {
foreach ($obj as $prop => $val) {
$ref[$obj->mem_tbl_id]->$prop = $val;
}
}
}
}
var_export($result);
- Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- array (
0 =>
(object) array(
'mem_tbl_id' => 1,
'm_name_e' => 'Titus C.',
'member_id' => 'KZI37M3025',
'gender' => 'Male',
'm_number' => 9489455057,
'familyid' => 'KZI54F2256',
'do_birth' => '1937-09-18',
'do_confirm' => '1954-04-07',
),
1 =>
(object) array(
'mem_tbl_id' => 2,
'm_name_e' => 'Baby Helen',
'member_id' => 'KZI45M6402',
'gender' => 'Female',
'm_number' => NULL,
'familyid' => 'KZI54F2256',
'do_birth' => '1945-02-06',
),
2 =>
(object) array(
'mem_tbl_id' => 3,
'm_name_e' => 'Satheesh Premananth T.',
'member_id' => 'KZI69M3438',
'gender' => 'Male',
'm_number' => NULL,
'familyid' => 'KZI69F5619',
'do_birth' => '1968-04-12',
'do_baptism' => '1969-04-13',
'do_confirm' => '1990-04-29',
),
)
preferences:
74.06 ms | 408 KiB | 5 Q