A possible solution is to use a side effect of filtering array_combine(...):
$array = [
'user_id' => [
0 => 594,
1 => 597,
2 => 594
],
'user_first' => [
0 => 'John',
1 => 'James',
2 => 'John'
]
];
$combinedArray = array_combine($array['user_id'], $array['user_first']);
So we got an array
Array
(
[594] => John
[597] => James
)
To restore the original structure, we can simply extract the keys and values:
$array = [
'user_id' => array_keys($combinedArray),
'user_first' => array_values($combinedArray),
];
Result:
Array
(
[user_id] => Array
(
[0] => 594
[1] => 597
)
[user_first] => Array
(
[0] => John
[1] => James
)
)
source
share