<?php
$array1 = array(
array('id' => 1, 'name' => 'John Doe', 'age' => 20),
array('id' => 2, 'name' => 'Mae Doe', 'age' => 17),
array('id' => 3, 'name' => 'Mark Smith', 'age' => 35),
array('id' => 4, 'name' => 'Selena Smith', 'age' => 15),
array('id' => 5, 'name' => 'Shane Doe', 'age' => 26),
array('id' => 6, 'name' => 'Will Smith', 'age' => 45)
);
$array2 = array(
array('id' => 1, 'address' => 'Singapore', 'phone_number' => '123', 'store_name' => 'ABC'),
array('id' => 4, 'address' => 'Japan', 'phone_number' => '456', 'store_name' => 'DEF'),
array('id' => 5, 'address' => 'Korea', 'phone_number' => '789', 'store_name' => 'GHI')
);
$addresses = array_column($array2, null, 'id');
foreach ($array1 as &$arr) {
if (isset($addresses[$arr['id']])) $arr = array_merge($arr, $addresses[$arr['id']]);
}
print_r($array1);
- Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- Array
(
[0] => Array
(
[id] => 1
[name] => John Doe
[age] => 20
[address] => Singapore
[phone_number] => 123
[store_name] => ABC
)
[1] => Array
(
[id] => 2
[name] => Mae Doe
[age] => 17
)
[2] => Array
(
[id] => 3
[name] => Mark Smith
[age] => 35
)
[3] => Array
(
[id] => 4
[name] => Selena Smith
[age] => 15
[address] => Japan
[phone_number] => 456
[store_name] => DEF
)
[4] => Array
(
[id] => 5
[name] => Shane Doe
[age] => 26
[address] => Korea
[phone_number] => 789
[store_name] => GHI
)
[5] => Array
(
[id] => 6
[name] => Will Smith
[age] => 45
)
)
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Array
(
[0] => Array
(
[id] => 1
[name] => John Doe
[age] => 20
[address] => Singapore
[phone_number] => 123
[store_name] => ABC
)
[1] => Array
(
[id] => 2
[name] => Mae Doe
[age] => 17
)
[2] => Array
(
[id] => 3
[name] => Mark Smith
[age] => 35
)
[3] => Array
(
[id] => 4
[name] => Selena Smith
[age] => 15
[address] => Japan
[phone_number] => 456
[store_name] => DEF
)
[4] => Array
(
[id] => 5
[name] => Shane Doe
[age] => 26
[address] => Korea
[phone_number] => 789
[store_name] => GHI
)
[5] => Array
(
[id] => 6
[name] => Will Smith
[age] => 45
)
)
preferences:
195.93 ms | 404 KiB | 180 Q